C#判断系统是64位还是32位 支持.net4.0以前的版本

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;
            }
        }

小Q截图-20150903172757

小Q截图-20150903172819

引用之后完美解决了判断系统是32位还是64位的问题。这样就可以根据不同的系统位数来选择触发不同的代码段了。

posted @ 2015-09-03 17:30  海尔卡特  阅读(1341)  评论(0编辑  收藏  举报