【问题标题】:Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) returning x86Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) 返回 x86
【发布时间】: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 位”

标签: c# .net vb.net directory


【解决方案1】:

您可能以 32 位运行您的应用 查看此讨论以获取返回 corectlly x86 程序文件目录的代码:C# - How to get Program Files (x86) on Windows 64 bit

【讨论】:

  • 如果我的程序目标是 32 位,我将如何搜索 64 位程序文件?
  • 我给你一个链接,你可以通过其他方式找到它
  • 我没有注意到“首选 32 位”选项。关闭它给了我想要的结果。谢谢
  • 提供的链接没有任何帮助。
猜你喜欢
  • 2013-11-15
  • 2012-03-14
  • 2019-03-26
  • 1970-01-01
  • 2011-11-04
  • 2011-04-26
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多