EDIT: Я добавил еще несколько строк программы к фрагменту кода ниже.Ошибка файла с LoadImage() (Windows)
У меня есть следующие строки кода в программе
BITMAP BMP;
HBITMAP hBMP;
hBMP = (HBITMAP)LoadImage(GetModuleHandle(NULL), "Test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE);
if (!hBMP) return 1;
GetObject(hBMP, sizeof(BMP), &BMP);
и когда я запускаю программу, он выходит из строя. Я использовал GetLastError(), который возвратил 2/FILE_NOT_FOUND, но файл («Test.bmp») находится в папке .exe. Может кто-нибудь указать, что не так с линией кода (или если ошибка не в этой строке)?
Я попытался сменить его на «C: \ Test.bmp» (и поместив там копию файла), а GetLastError() вернет 0, но программа по-прежнему падает, когда я пытаюсь получить доступ к чему-то вроде ширины битовая карта. – 2010-07-08 22:17:36
@ Keand64: функция LoadImage возвращает дескриптор в растровое изображение. Чтобы получить информацию из дескриптора, используйте функцию GetObject. Если вы покажете еще какой-нибудь код, это будет полезно. –
Да, у меня была функция GetObject(), я просто не думал, что это относится к вопросу в то время. Теперь я добавил его к фрагменту кода, который я написал, хотя. – 2010-07-09 07:50:24