C++ необработанное исключение LoadImage() с MAKEINTRESOURCE
У меня проблема с добавлением растрового изображения в статический блок управления, я получил необработанное исключение при запуске моей программы. Вот мой код
ИЗ ФАЙЛА 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);
исключение сообщения: необработанное исключение в 0x7768e41b в windows2.exe: 0xC0000005: расположение чтения нарушения доступа 0x000001f4.
windows2.exe! WndProc (HWND__ * hwnd, unsigned int msg, unsigned int wParam, long lParam) Строка 153 + 0x27 байт C++
1 ответ
Решение
Вы проходите LR_LOADFROMFILE
но второй параметр не является именем файла. Удалить этот флаг.