C++ c++;MAKEINTRESOURCE未处理的异常LoadImage()
我在将位图图像添加到静态控制框时遇到问题,我在运行程序时遇到未处理的异常。这是我的密码 从RC文件:C++ c++;MAKEINTRESOURCE未处理的异常LoadImage(),c++,resources,loadimage,C++,Resources,Loadimage,我在将位图图像添加到静态控制框时遇到问题,我在运行程序时遇到未处理的异常。这是我的密码 从RC文件: ID_ICON1 BITMAP "icon1.bmp" CPP文件: HANDLE bIcon1; HWND hIcon; hIcon = CreateWindowEx(0, "Static", NULL, WS_CHILD | WS_VISIBLE|SS_BITMAP, 250, 100, 100, 100, hwnd, NULL, GetModuleHan
ID_ICON1 BITMAP "icon1.bmp"
CPP文件:
HANDLE bIcon1;
HWND hIcon;
hIcon = CreateWindowEx(0, "Static", NULL, WS_CHILD | WS_VISIBLE|SS_BITMAP, 250, 100, 100, 100, hwnd, NULL, GetModuleHandle(NULL), NULL);
bIcon1 = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_ICON1), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_DEFAULTSIZE);
如果使用完整路径,则不会出现错误,bmp会正确显示:
bIcon1 = LoadImage(GetModuleHandle(NULL), "c:\\icon1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_DEFAULTSIZE);
谢谢你的帮助:)
编辑:
例外情况行如下所示:
bIcon1 = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_ICON1), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_DEFAULTSIZE);
消息异常为:
windows2.exe中0x7768e41b处未处理的异常:0xC0000005:访问冲突读取位置0x000001f4
windows2.exe!WndProc(HWND_*HWND,unsigned int msg,unsigned int wParam,long lParam)行153+0x27字节C++
您正在传递
LR\u LOADFROMFILE
,但第二个参数不是文件名。删除该标志。很明显,操作系统对您使用“图标”作为位图感到不安,并且拒绝给您一个好的行号或异常消息。如果您希望有人为您调试代码,请向文件共享服务发布一个最小的复制项目。例外情况是:bIcon1=LoadImage(GetModuleHandle(NULL)、MAKEINTRESOURCE(ID_ICON1)、IMAGE_位图、0、0、LR_LOADFROMFILE | LR_DEFAULTSIZE);