获取ExpandEnvironmentStrings()以返回64位路径

时间:2017-10-05 09:21:58

标签: c winapi wow64

我正在编写一个需要以32位模式运行的程序。此程序读取文件路径的注册表,有些是使用Windows环境变量编写的,例如"%PROGRAMFILES%\ MySoftware"。

我的问题是,当我使用ExpandEnvironmentStrings()时,我得到了" C:\ Program Files(x86)\ MySoftware"因为我的可执行文件是32位,但我正在寻找的路径是" C:\ Program Files \ MySoftware"。

关闭Wow64不会影响ExpandEnvironmentStrings()。

我的解决方案是编写自己的" ExpandEnvironmentStrings()"功能,但可能有更好的解决方案。

1 个答案:

答案 0 :(得分:0)

从Windows 7开始,您有一个%ProgramW6432%,它始终指向64位文件夹。

请参阅WOW64 implemenation details