以下代码片段是C#检查系统是32位还是64位的,有需要的朋友可以直接拿去测试。
代码如下 | 复制代码 |
using System; using System.Collections.Generic; using System.Text; using System.Management; public class Check64or32System { /// /// 检查系统是32位还是64位 /// /// public static int Distinguish64or32System() { try { //得到AddressWidth值 ConnectionOptions mConnOption = new ConnectionOptions(); ManagementScope mMs = new ManagementScope("localhost", mConnOption); ObjectQuery mQuery = new ObjectQuery("select AddressWidth from Win32_Processor"); ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(mMs, mQuery); ManagementObjectCollection mObjectCollection = mSearcher.Get(); string retVal = string.Empty; foreach (ManagementObject mObject in mObjectCollection) { retVal = mObject["AddressWidth"].ToString(); } //根据值判断,不能直接返回得到的值, //32位返回"32",64位会因为CPU而有两个值,"N/A"或"64" if (retVal == "32") { return 32; } else { return 64; } } catch { return 0; } } } |