天天看點

判斷32位OS,64位OS的方法

判斷系統是否是64位的方法有很多。

對于C#來說,調用WMI是一種簡單易行的方式。我們可以用Win32_Processor類裡面的AddressWidth屬性來表示系統的位寬。AddressWidth的值受CPU和作業系統的雙重影響。

具體的值如下面的表格所示:

32bit OS 64bit OS
32bit CPU AddressWidth = 32 N/A
64bit CPU AddressWidth = 32 AddressWidth = 64

可以用下面的C#代碼得到AddressWidth的值

(注意需添加引用System.Management)

public static string Detect3264()

{

             ConnectionOptions oConn = new ConnectionOptions();

             System.Management.ManagementScope oMs = new System.Management.ManagementScope( " localhost " , oConn);

             System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery( " select AddressWidth from Win32_Processor " );

             ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);

             ManagementObjectCollection oReturnCollection = oSearcher.Get();

             string addressWidth = null ;

             foreach (ManagementObject oReturn in oReturnCollection)

             {

                 addressWidth = oReturn[ " AddressWidth " ].ToString();

             }

             return addressWidth;

}