如何获取Program Files目录
本文关键字:Program Files 目录 获取 何获取 | 更新日期: 2023-09-27 18:23:52
我正试图在64位操作系统中获取程序文件目录。下面的代码返回相同的答案Program Files (x86)
:
Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86).ToString());
Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles).ToString());
有什么帮助吗?
当然,您必须以64位模式运行程序。然后这将打印
C:'Program Files (x86)
C:'Program Files
转到:项目>您的项目属性…>构建>禁用首选32位
这就是您想要的:
Environment.GetEnvironmentVariable("ProgramW6432")
它将返回x64程序目录的路径。
有关环境变量和WOW64的更多信息,请阅读此处:https://msdn.microsoft.com/en-us/library/windows/desktop/aa384274(v=vs.85).aspx
对于这个
Console.WriteLine(Environment.GetEnvironmentVariable("ProgramFiles(x86)"));
请查看此链接C#-如何在Windows 64位上获取程序文件(x86)
上面的链接显示它将在所有这三种Windows配置中返回x86 Program Files directory
:
32位Windows
在64位Windows上运行的32位程序
在64位窗口上运行的64位程序
解决方案:
我们需要告诉编译器不要选择特定的构建平台。
Go to Visual Studio > Project Properties > Build > Uncheck "Prefer 32 bit"
原因:
默认情况下,对于大多数.NET项目;任何CPU 32位优选的";
当您取消选中32位程序集时,将:
32位进程上的JIT到32位代码
64位进程上的JIT到32位代码
C#代码:
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)
输出:
C:''Program Files(x86)