使用LoadImage的相对文件路径

我试图通过 LoadImage 函数从win32中的相对文件路径加载文件 . 我正在使用的URL确实存在,出于测试目的,使用与资源文件中添加的位图相同的URL .

Image = (HBITMAP)LoadImage(NULL, "..\\..\\Images\\Mage default.bmp",
                           IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);

但是,它返回错误代码2,表明该文件可以't be found. I have googled the issue at some length, and referred to MSDN, and I can't找到任何说明如何使用 LoadImage 的相对文件路径 .

它似乎与 LoadBitmap 和预定义的位图一起正常工作,但在这种情况下似乎不起作用 . 任何帮助将非常感激

回答(2)

3 years ago

首先,检查文件是否存在,当前目录是您期望的目录 .

此外,您可以使用GetFullPathName之类的函数将相对路径转换为绝对路径 .

3 years ago

您拥有的相对路径是根据您的进程/运行时工作目录计算的,而不是在编译时的静态文件位置计算的 .