编辑:我已经在下面的代码片段中添加了几行程序。
我在一个程序中有下面这行代码
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的文件夹中。有人能指出这一行代码的错误之处(或者错误不在此行中)吗?
发布于 2010-07-08 05:32:18
使用GetCurrentDirectory找出哪个目录是默认目录,它可能不是可执行文件所在的位置。我建议使用文件的完整路径。
发布于 2010-07-08 05:31:24
您应该尝试使用应用程序的完整路径。
而且,main()参数包含当前应用程序路径,因此可以将其添加到字符串中。
发布于 2010-07-08 05:31:31
你的图像存在于一个临时路径中,我相信在执行的过程中...
环境::GetEnvironmentVariable(“TEMP”)+ "\Button.bmp";
https://stackoverflow.com/questions/3198976
复制相似问题