WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法

前端之家收集整理的这篇文章主要介绍了WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取

某部分的硬件信息就不用写一个一个的函数,比如获取MAC地址就写一个获取MAC地址的函数获取cpu 信息就写一个获取cpu信息的

函数,太麻烦了

如下是函数代码

 1         private static string identifier(string wmiClass,string wmiProperty,1)">string wmiMustBeTrue)
 2         {
 3             string result = "";
 4             System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
 5             System.Management.ManagementObjectCollection moc = mc.GetInstances();
 6             foreach (System.Management.ManagementObject mo in moc)
 7             {
 8                 if (mo[wmiMustBeTrue].ToString() == "True")
 9                 {
10                     if (result == 11                     {
12                         try
13                         {
14                             result = mo[wmiProperty].ToString();
15                             break16                         }
17                         catch
18 19 20                     }
21 
22                 }
23             }
24             return result;
25         }
26 
27 
28          wmiProperty)
29 30             31             System.Management.ManagementClass mc = 32             System.Management.ManagementObjectCollection moc =33             34 35                 36 37                     38 39                         result =40                         41 42                     43 44 45 46 
47 48             49         }

获取cpuID

1          cpuId()
2         {     
3             string retVal = identifier(Win32_Processor",UniqueId");  //cpuID   
4             retVal += identifier(ProcessorId);
5             retVal += identifier(Name处理器名称
6             retVal += identifier(Manufacturer处理器制造商
7             retVal +=identifier(MaxClockSpeed最大时钟频率
8              retVal;
9         }

 

获取BIOS信息,其中BIOS序列号就是联想台式机的出厂编号,我看联想的保修页面里的自动获取主机编号应该也是调用

这个"Win32_BIOS"的 "SerialNumber

报修页面网址:http://support1.lenovo.com.cn/lenovo/wsi/wsbx/lenovo/#minarepairInfo

 

BIOS信息
 2          biosId()
 3  4             return identifier(Win32_BIOS")          BIOS制造商名称
 5                     + identifier(SMBIOSBIOSVersion")  //
 6                     + identifier(IdentificationCode")  7                     + identifier(SerialNumber")       BIOS序列号
 8                     + identifier(ReleaseDate")        出厂日期
 9                     + identifier(Version");           版本号
10         }

 

 

获取硬盘信息:

 diskId()
Win32_DiskDriveModel")           模式
4                     + identifier(制造商
5                     + identifier(Signature")    签名
6                     + identifier(TotalHeads扇区头
7         }

 

获取主板信息:

 baseId()
Win32_BaseBoard)              
)    
7         }

获取显卡信息:

 videoId()
Win32_VideoControllerDriverVersion5         }

 

获取网卡MAC地址信息:

 macId()
Win32_NetworkAdapterConfigurationMACAddressIPEnabled); 
4         }

 

 

如有什么不对的地方,欢迎大家拍砖!!

 

 

 

 

猜你在找的C#相关文章