C#判断系统是64位还是32位的时候引用了一串代码,这个代码是从园子里面其他博文中转载过来的,引入自己的项目中发现无法使用,在引用了相应的命名空间之后还是提示:
“未能找到类型或命名空间名称“ConnectionOptions”(是否缺少 using 指令或程序集引用?)”;
除了使用 using System.Management; 还需要在解决方案的“引用”中引用才能够起作用,
private string Distinguish64or32System() { try { string addressWidth = String.Empty; 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(); foreach (ManagementObject mObject in mObjectCollection) { addressWidth = mObject["AddressWidth"].ToString(); } return addressWidth; } catch { return String.Empty; } }
引用之后完美解决了判断系统是32位还是64位的问题。这样就可以根据不同的系统位数来选择触发不同的代码段了。