Environment.GetEnvironmentVariable检查os版本32bit / 64bit

时间:2011-09-16 10:12:29

标签: c# environment-variables

  

可能重复:
  How to detect Windows 64 bit platform with .net?

项目:C#.5

描述:代码检查底层机器是64位还是32位操作系统。 返回值:代码始终返回null值。 为什么?

  if (8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
            {
                return Environment.GetEnvironmentVariable("SysWOW64");
            }
            return Environment.GetEnvironmentVariable("system32");

2 个答案:

答案 0 :(得分:1)

代码返回null,因为未返回它返回的变量。检查您是否在64位环境中的更好方法是调用Environment.Is64BitOperatingSystem和Environment.Is64BitProcess

答案 1 :(得分:0)

if (Environment.Is64BitOperatingSystem) 
{
    return Environment.GetEnvironmentVariable("SysWOW64"); 
}
else
{
    return Environment.GetEnvironmentVariable("system32");       
}