国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

WMI獲取硬件信息封裝函數方法(聯想臺式機出廠編號 CPUID BIOS序列號 硬盤信息 顯卡信息 MAC地址)

2020-01-24 03:03:48
字體:
來源:轉載
供稿:網友

今天玩了一把WMI,查詢了一下電腦的硬件信息,感覺很多代碼都是可以提取出來的,就自己把那些公共部分提出出來,以后如果要獲取某部分的硬件信息就不用寫一個一個的函數,比如獲取MAC地址就寫一個獲取MAC地址的函數,獲取CPU 信息就寫一個獲取CPU信息的函數,太麻煩了

如下是函數代碼:

復制代碼 代碼如下:

private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)
        {
            string result = "";
            System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            foreach (System.Management.ManagementObject mo in moc)
            {
                if (mo[wmiMustBeTrue].ToString() == "True")
                {
                    if (result == "")
                    {
                        try
                        {
                            result = mo[wmiProperty].ToString();
                            break;
                        }
                        catch
                        {
                        }
                    }

                }
            }
            return result;
        }


        private static string identifier(string wmiClass, string wmiProperty)
        {
            string result = "";
            System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            foreach (System.Management.ManagementObject mo in moc)
            {
                if (result == "")
                {
                    try
                    {
                        result = mo[wmiProperty].ToString();
                        break;
                    }
                    catch
                    {
                    }
                }

            }
            return result;
        }

獲取CPUID

復制代碼 代碼如下:

private static string cpuId()
        {    
            string retVal = identifier("Win32_Processor", "UniqueId");  //CPUID  
            retVal += identifier("Win32_Processor", "ProcessorId");
            retVal += identifier("Win32_Processor", "Name");  //處理器名稱
            retVal += identifier("Win32_Processor", "Manufacturer");  //處理器制造商
            retVal +=identifier("Win32_Processor", "MaxClockSpeed");  //最大時鐘頻率
            return retVal;
        }

獲取BIOS信息,其中BIOS序列號就是聯想臺式機的出廠編號,我看聯想的保修頁面里的自動獲取主機編號應該也是調用這個"Win32_BIOS"的 "SerialNumber

報修頁面網址:http://support1.lenovo.com.cn/lenovo/wsi/wsbx/lenovo/#minarepairInfo

復制代碼 代碼如下:

//BIOS信息
        private static string biosId()
        {
            return identifier("Win32_BIOS", "Manufacturer")          //BIOS制造商名稱
                    + identifier("Win32_BIOS", "SMBIOSBIOSVersion")  //
                    + identifier("Win32_BIOS", "IdentificationCode") //
                    + identifier("Win32_BIOS", "SerialNumber")       //BIOS序列號
                    + identifier("Win32_BIOS", "ReleaseDate")        //出廠日期
                    + identifier("Win32_BIOS", "Version");           //版本號
        }

獲取硬盤信息:

復制代碼 代碼如下:

private static string diskId()
        {
            return identifier("Win32_DiskDrive", "Model")           //模式
                    + identifier("Win32_DiskDrive", "Manufacturer") //制造商
                    + identifier("Win32_DiskDrive", "Signature")    //簽名
                    + identifier("Win32_DiskDrive", "TotalHeads");  //扇區頭
        }

獲取顯卡信息:

復制代碼 代碼如下:

private static string videoId()
         {
            return identifier("Win32_VideoController", "DriverVersion")
                     + identifier("Win32_VideoController", "Name");
        }

獲取網卡MAC地址信息:

復制代碼 代碼如下:

private static string macId()
         {
             return identifier("Win32_NetworkAdapterConfiguration", "MACAddress", "IPEnabled");
        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泽普县| 新晃| 金塔县| 汝州市| 铜山县| 郧西县| 普宁市| 名山县| 梧州市| 昆山市| 惠东县| 开化县| 永丰县| 东源县| 遵义县| 泾源县| 积石山| 西盟| 鄯善县| 宿州市| 芜湖县| 山阴县| 芒康县| 汉中市| 岳西县| 沙坪坝区| 浦城县| 仙居县| 禄丰县| 综艺| 山西省| 安达市| 闵行区| 互助| 新安县| 衡水市| 那坡县| 灵山县| 甘洛县| 温泉县| 苏尼特左旗|