所以在我的项目中添加了一个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教程很好,但解释不多。
答案 0 :(得分:0)
我建议使用ResEdit,这是一个非常强大的资源编辑工具。
答案 1 :(得分: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,您知道它没有损坏,看看它是否有效。
希望你现在想出来!祝你好运!