我正在尝试通过LoadImage
函数从win32中的相对文件路径加载文件。我正在使用的URL确实存在,出于测试目的,使用与资源文件中添加的位图相同的URL。
Image = (HBITMAP)LoadImage(NULL, "..\\..\\Images\\Mage default.bmp",
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
但是,它返回错误代码2,表示找不到该文件。我已经详细搜索了这个问题,并提到了MSDN,我找不到任何说明如何使用LoadImage
的相对文件路径。
它似乎可以与LoadBitmap
和预定义的位图一起使用,但在这种情况下似乎不起作用。任何帮助将不胜感激
答案 0 :(得分:2)
首先,检查文件是否存在,当前目录是您期望的目录。
此外,您可以使用GetFullPathName之类的函数将相对路径转换为绝对路径。
答案 1 :(得分:1)
您拥有的相对路径是根据您的进程/运行时工作目录计算的,而不是在编译时的静态文件位置计算的。
答案 2 :(得分:1)
这可能是一篇过时的文章,但是偶然发现了这个问题(在我的情况下是头文件)并找到了答案,这里是:
如果引用相对路径,则第一个目录前面不能加反斜杠。
在此示例中,该行将是:
(HBITMAP)LoadImage(NULL,“ Images \\ Mage default.bmp”,...