【发布时间】:2013-04-13 13:36:57
【问题描述】:
我正在尝试搜索可能位于“Program Files”或“Program Files (x86)”目录中的文件。但是,我找不到访问 64 位程序文件的方法。
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)返回 x86 版本。快速的谷歌搜索有很多人有这种冲突,人们使用它会得到不同的结果。
为什么我会得到 x86 文件夹,以及如何应对?
【问题讨论】:
-
文件系统重定向器的要点是您无法访问此目录。你可以 pinvoke Wow64DisableWow64FsRedirection 来关闭它,但是这在托管应用程序中是相当危险的,因为它倾向于动态加载 DLL。将您的 EXE 目标切换到 AnyCPU 是一种简单的解决方法。
-
这就是我所尝试的,虽然我忘记取消选中“首选 32 位”