将ICO文件添加到Win32程序

时间:2010-06-22 22:53:15

标签: c++ ico

所以在我的项目中添加了一个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教程很好,但解释不多。

2 个答案:

答案 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,您知道它没有损坏,看看它是否有效。

希望你现在想出来!祝你好运!