c++ - 获取拥有可执行文件的当前路径(C++)
问题描述
StackOverflow 上的所有内容都说要使用一堆不同的方法来获取可执行文件的完整路径。问题是这些方法都没有获得可执行文件的路径。他们获得了可执行文件执行时所在的路径。如果您运行可执行文件然后移动它,那么您获得的路径始终是您运行它的路径。我怎样才能找到它实际所在的路径?
解决方案
GetFileInformationByHandleEx
当正在运行的可执行文件在该设备内移动时, with 选项FileNameInfo
返回当前设备上的当前路径,没有驱动器指示符。要使用它,您显然需要在程序启动时打开文件以进行读取(在移动之前)。要在启动时获取可执行文件的路径,您可以使用GetModuleFileName
.
推荐阅读
- python - 为什么它跳过 else 语句而不传递正确的图像?
- iis - 迁移窗口服务器后出现 404 错误
- python - Python列表比numpy数组表现更好?
- r - 如何在 R 中使用 CEM 包找出精确匹配
- node.js - @nrwl/nx 使用其 CLI 工具提供节点库和覆盖范围
- laravel - Laravel 新应用:'""' 不是内部或外部命令、可运行程序或批处理文件
- unicode - OpenType - 两个高棉字符在映射到字形 ID 之前变为三个
- powershell - 尝试下载链接时PowerShell中的错误
- windows-subsystem-for-linux - 带有 WSL 的 CLion 尝试运行 QT 应用程序(无法加载 xcb)
- react-native - 在特定时间隐藏或显示组件 React Native