2011-09-16 169 views
0

可能重複:
How to detect Windows 64 bit platform with .net?Environment.GetEnvironmentVariable檢查操作系統版本32位/ 64位

項目:C#0.5

描述:代碼檢查是否底層機器是64位或32位操作系統。 返回值:該代碼始終返回null值。 爲什麼?因爲它是返回變量未設置

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

有什麼理由,爲什麼你不能使用'Environment.Is64BitOperatingSystem'或'Environment.Is64BitProcess' ? – LukeH

+0

問題重複 –

回答

1

的代碼返回null。檢查,如果你是在64位環境較好的方法是調用Environment.Is64BitOperatingSystem和Environment.Is64BitProcess

0
if (Environment.Is64BitOperatingSystem) 
{ 
    return Environment.GetEnvironmentVariable("SysWOW64"); 
} 
else 
{ 
    return Environment.GetEnvironmentVariable("system32");  
} 
相關問題