在C#中处理计算机是否为64位的最佳方法是什么? 目前我在C#中执行以下操作:
bool is64bit = false;
在主要方法中:
if (Directory.Exists("C:\\Program Files (x86)"))
{
is64bit = true;
}
那么有更好的方法来处理程序文件吗?正如稍后当我调用一个默认安装在Program Files中的进程时,是否有一个我可以使用的快捷方式,然后查看它是否存在?
答案 0 :(得分:2)
只需使用%ProgramFiles%
环境变量。
如果在64位系统上运行,取决于您的应用程序是在32位还是64位模式下运行,它将适当地返回C:\Program Files (x86)
或C:\Program Files
(假设用户没有更改位置。)
答案 1 :(得分:0)
点击此链接:http://msdn.microsoft.com/en-us/library/system.environment.aspx
您可以使用以下代码行来确定操作系统是64位还是非编程:
bool Is64Bit = System.Environment.Is64BitOperatingSystem;
答案 2 :(得分:-1)
试试这个:
public static bool IsX64()
{
if (8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
{
return true;
}
return false;
}
也可以特别使用:
public static string ProgramFilesx86()
{
if (8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
{
return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
}
return Environment.GetEnvironmentVariable("ProgramFiles");
}