源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

WMI获取硬件信息封装函数方法(联想台式机出厂编号 CPUID BIOS序列号 硬盘信息 显卡信息 MAC地址)

  • 时间:2020-11-17 19:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:WMI获取硬件信息封装函数方法(联想台式机出厂编号 CPUID BIOS序列号 硬盘信息 显卡信息 MAC地址)
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取某部分的硬件信息就不用写一个一个的函数,比如获取MAC地址就写一个获取MAC地址的函数,获取CPU 信息就写一个获取CPU信息的函数,太麻烦了 如下是函数代码:
[u]复制代码[/u] 代码如下:
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
[u]复制代码[/u] 代码如下:
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
[u]复制代码[/u] 代码如下:
//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");           //版本号         }
获取硬盘信息:
[u]复制代码[/u] 代码如下:
private static string diskId()         {             return identifier("Win32_DiskDrive", "Model")           //模式                     + identifier("Win32_DiskDrive", "Manufacturer") //制造商                     + identifier("Win32_DiskDrive", "Signature")    //签名                     + identifier("Win32_DiskDrive", "TotalHeads");  //扇区头         }
获取显卡信息:
[u]复制代码[/u] 代码如下:
private static string videoId()          {             return identifier("Win32_VideoController", "DriverVersion")                      + identifier("Win32_VideoController", "Name");         }
获取网卡MAC地址信息:
[u]复制代码[/u] 代码如下:
private static string macId()          {              return identifier("Win32_NetworkAdapterConfiguration", "MACAddress", "IPEnabled");         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部