大家好, 在开发板上调试程序,LoadImage返回值一直是NULL,快崩溃了,程序如下: HBITMAP h_bgBmp = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(), L"1.bmp", IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
if(h_bgBmp == NULL)
{
MessageBox(L"加载位图失败");
return ;
}
本来怀疑是位图文件问题,但是按照网上说的,把bmp文件用画图工具打开再保存,问题仍存在。另:相同环境的其他测试都可以通过:
1.显示位图,测试通过
h_bgBmp = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
...//(显示位图) 2.文件读取,测试通过
HANDLE hFile = CreateFile(L"1.txt", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
...//(文件读取) 这是怎么回事?谢谢
if(h_bgBmp == NULL)
{
MessageBox(L"加载位图失败");
return ;
}
本来怀疑是位图文件问题,但是按照网上说的,把bmp文件用画图工具打开再保存,问题仍存在。另:相同环境的其他测试都可以通过:
1.显示位图,测试通过
h_bgBmp = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
...//(显示位图) 2.文件读取,测试通过
HANDLE hFile = CreateFile(L"1.txt", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
...//(文件读取) 这是怎么回事?谢谢
试过,不可以,路径是L"\\1.bmp"而CreateFile用L"\\1.txt"就可以
然后GetLastError捕捉一下错误
GetLastError();看看返回值是什么?
板子上,这就是完整路径了,\是根目录GetLastError=87,参数不正确?
难道路径是LPCSTR 而不是LPCWSTR?
“C://XXX//……//1.bmp”
把你查看那个bmp的窗口的地址拷过来,将/改成//
我在wince下,根目录就是\
和需求不符
UNICODE,改成多字符集编不过,我重建项目试试
既然看到是资源找不到了。用"1.bmp"可以么?
GetLastError返回值=1814
一开始用的就是"1.bmp"
===========================
既然是BMP文件,那么最后的参数肯定要含有LR_LOADFROMFILE才行啊。