2010-06-22 111 views
1

因此,在我的项目中添加了resource.rc和resource.h文件。将ICO文件添加到Win32程序

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。网上有没有好的资源?伪造者win32 API教程很好,但没有多少解释。

+2

看起来像您的图标文件可能已损坏。你能在错误信息中加入更多的上下文吗? (也就是上面和下面的几行) – 2010-06-22 22:59:36

回答

0

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

0

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

另一个原因是你的图标文件路径不对。如果添加my_icon.ico作为一种资源,它的Resources文件夹下添加到您的项目,你的文件的位置应该是#include "resource.h" IDI_MYICON ICON "Resources\\my_icon.ico"

如果你的。ICO是腐败的,它可能是,尝试使用你知道.ICO ISN不会腐败,看看它是否有效。

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

相关问题