1

所以在我的项目中添加了一个resource.rc 和一个resource.h 文件。

resource.rc 有#include "resource.h" IDI_MYICON ICON "my_icon.ico"

和 resource.h 有#define IDI_MYICON 201

wincl.hIcon = LoadIcon (GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MYICON));
wincl.hIconSm = (HICON) LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MYICON),     IMAGE_ICON, 16, 16 ,0);

我收到编译器错误,读取“[资源错误] my_icon.ico 读取 2440 返回 2439”

我也在自学这个 API。网上有什么好的资源吗?forgers win32 API 教程很好,但解释不多。

4

2 回答 2

0

我建议使用ResEdit,它是一个非常强大的资源编辑工具。

于 2012-08-27T22:05:29.220 回答
0

假设您的文件名是正确的,可能的原因是您需要#include <windows.h>在包含resources.h. 我昨天遇到了这个问题,并且得到了相同的错误代码。我还注意到,如果您更改 .rc 并重新编译,似乎#include <windows.h>每次都在删除该行。我猜include我的机器上的路径是错误的,因为它找不到文件,所以它会删除它。

另一个原因是您的图标文件路径错误。如果您将 my_icon.ico 添加为资源并将其添加到Resources文件夹下的项目中,则您的文件位置应为#include "resource.h" IDI_MYICON ICON "Resources\\my_icon.ico"

如果您的 .ico 已损坏(可能是),请尝试使用您知道未损坏的 .ico 并查看它是否有效。

希望你现在明白这一点!祝你好运!

于 2014-04-16T18:32:37.137 回答