gpt4 book ai didi

c++ - 已部署的 win32 应用程序的相对路径问题

转载 作者:太空宇宙 更新时间:2023-11-04 15:52:52 24 4
gpt4 key购买 nike

我编写了一个 C++ 程序并将其部署在 c:\my_app 中,我的可执行文件的路径是 c:\my_app\my_app.exe。比如说,my_app 需要很多文件,例如位于 c:\my_app\the_file.txt 中的 the_file.txt

在我的可执行文件中,我打开 txt 文件,xx.open("the_file.txt");

此外,我已将我的程序与 .myp 扩展名相关联。

当我在桌面上并想打开名为 example.myp 的文件时,我的程序看不到 the_file.txt。因为,它(以某种方式)假设它当前正在桌面上工作。

有什么简单的方法可以通过更改在 HKEY_CLASSES_ROOT 中打开的 shell 命令来解决这个问题?天真的解决方案是使用类似 %my_app_location/the_file.txt" 的方式更改所有文件打开操作。我不想那样做。

最佳答案

始终使用完整路径名打开文件。也就是说,不要打开“foo.txt”,打开“c:\bar\foo.txt”。要查找 EXE 的安装目录,请使用 GetModuleFileName(),为模块句柄传递 NULL。

关于c++ - 已部署的 win32 应用程序的相对路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5091317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com