【发布时间】:2012-06-24 09:50:48
【问题描述】:
可能重复:
C# - How to get Program Files (x86) on Windows Vista 64 bit
我正在尝试从我自己的第三方程序中启动。我在Program Files 和Program Files (x86) 中进行了快速搜索,我刚刚意识到getenv("ProgramFiles") 返回的路径实际上取决于我是在x64 还是Win32 中运行。
如何使用环境变量而不是硬编码名称搜索(在 C++ 和 C# 或 VB.NET 中)两个 Program Files 文件夹 - 因为无论我运行的程序版本如何用户机器,用户可能将另一台安装在不同的版本中?
我现在的代码:在 C++ 中:
fs::path root_directory = fs::path(getenv("ProgramFiles"));
// and then I change to
root_directory = fs::path(getenv("ProgramFiles(x86)"));
在 VB.NET 中:
System.Environment.GetEnvironmentVariable("ProgramFiles")
我看了这个来源:http://msdn.microsoft.com/en-us/library/aa365743
但如果我按照他们说的去做,我就会一直得到 x86...
【问题讨论】:
标签: c# c++ vb.net environment-variables wow64