gpt4 book ai didi

c++ - 如何获得重定向路径的实际路径?

转载 作者:搜寻专家 更新时间:2023-10-31 01:44:20 25 4
gpt4 key购买 nike

由于文件重定向,在 64 位上运行的 32 位进程将获得重定向路径的通用路径。调用 GetCurrentDirectory,例如,如果进程从 \Windows\SysWOW64 运行,将得到结果:Windows\System32

不过,很有可能确定 32 位进程是否在 64 位主机上运行。我正在寻找一种解决方案来给我正确/实际的路径。类似于 ResolveWOWPathToActual 路径,这将为路径 \Windows\System32 提供 \Windows\SysWOW64

编辑:

WCHAR szCurFolder[MAX_PATH];

PVOID dummy;
Wow64DisableWow64FsRedirection(&dummy);

GetCurrentDirectoryW(MAX_PATH, szCurFolder);

printf("Current Dir: %S\n", szCurFolder);

最佳答案

API函数GetFinalPathNameByHandle可能会满足您的需求。您必须打开文件或目录才能获得它的句柄。将该句柄传递给 GetFinalPathNameByHandle,它将为您提供文件的真实路径。无需禁用文件系统重定向器。

我想唯一可能的缺点是这确实需要您提供句柄而不是路径。

关于c++ - 如何获得重定向路径的实际路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650436/

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