2013-04-13 25 views
1

我试图搜索可能位于“Program Files”或“Program Files(x86)”目录中的文件。但是,我找不到访问64位程序文件的方法。Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)返回x86

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)返回x86版本。快速谷歌搜索有许多人有这种冲突,人们使用它得到不同的结果。

为什么我得到x86文件夹,以及如何对付它?

+1

文件系统重定向的一点是,你*不*得到这个目录。你可以通过调用Wow64DisableWow64FsRedirection来关闭它,但这在托管应用程序中相当危险,因为它往往会动态加载DLL。将您的EXE目标切换到AnyCPU是一种简单的解决方法。 –

+2

这就是我曾尝试,虽然我忘了取消选中“更喜欢32位” –

回答

-1

也许你在这个dicussion运行你的应用程序作为32位 只看得到代码返回corectlly x86的程序文件目录:C# - How to get Program Files (x86) on Windows 64 bit

+3

那么如果我的程序目标是32位,我将如何搜索64位程序文件? –

+0

我给你一个链接,找到它的其他方式 –

+0

我没有注意到“首选32位”选项。把它关掉给了我想要的结果。谢谢 –

相关问题