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 но второй параметр не является именем файла. Удалить этот флаг.

Другие вопросы по тегам