C#如何判断操作系统位数(32/64),兼容.netframework2.0

前言

最近在做项目的时候遇到之前老系统维护的时候发现需要判断操作系统版本的业务,之前的系统是基于.netframework2.0,微软在4.0 之后才提供了快捷查询操作系统位数的函数,只能自己网上查资料进行封装,网上好多介绍的太复杂,自己整理写了个通用的,供大家享用。

        private static bool Is64BitOperatingSystem
        {
            get
            {
                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 == "64";
                }
                catch (Exception ex)
                {

                    return false;
                }
            }
        }
posted @ 2022-12-03 09:09  星火燎猿*  阅读(23)  评论(0)    收藏  举报