c++ unhandled exception LoadImage() with MAKEINTRESOURCE

c++ unhandled exception LoadImage() with MAKEINTRESOURCE

本文关键字:with MAKEINTRESOURCE LoadImage unhandled exception c++      更新时间:2023-10-16

我在将位图图像添加到静态控制框中时遇到问题,运行程序时遇到未经处理的异常。这是我的代码。

从 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, 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。

视窗2.exe!WndProc(HWND__ * hwnd, unsigned int msg, unsigned int wParam, long lParam) 第 153 行 + 0x27 字节C++

正在传递LR_LOADFROMFILE但第二个参数不是文件名。删除该标志。