zoukankan      html  css  js  c++  java
  • C#通过WMI获取硬件信息

    有时候需要得到硬件信息绑定用户登录

    代码如下:

      1  private string GetProcessSerialNumber()
      2         {
      3             try
      4             {
      5                 ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
      6                       new System.Management.ManagementScope("\\localhost\root\cimv2"),
      7                       new System.Management.ObjectQuery("SELECT * FROM Win32_processor")
      8                       ).Get();
      9                 if (ProcessCollection != null && ProcessCollection.Count > 0)
     10                 {
     11                     StringBuilder sb = new StringBuilder();
     12                     foreach (ManagementObject mo in ProcessCollection)
     13                     {
     14                         sb.Append(mo["ProcessorId"]);
     15                     }
     16                     return sb.ToString();
     17                 }
     18                 else
     19                 {
     20                     return "";
     21                 }
     22             }
     23             catch (Exception)
     24             {                
     25                 return "";
     26             }
     27         }
     28 
     29         private string GetMotherBoardSerialNumber()
     30         {
     31             try
     32             {
     33                 ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
     34                       new System.Management.ManagementScope("\\localhost\root\cimv2"),
     35                       new System.Management.ObjectQuery("SELECT * FROM Win32_bios")
     36                       ).Get();
     37                 if (ProcessCollection != null && ProcessCollection.Count > 0)
     38                 {
     39                     StringBuilder sb = new StringBuilder();
     40                     foreach (ManagementObject mo in ProcessCollection)
     41                     {
     42                         sb.Append(mo["SerialNumber"]);
     43                     }
     44                     return sb.ToString();
     45                 }
     46                 else
     47                 {
     48                     return "";
     49                 }
     50             }
     51             catch (Exception)
     52             {
     53                 return "";
     54             }
     55         }
     56 
     57         private string GetHardDisk0SerialNumber()
     58         {
     59             try
     60             {
     61                 ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
     62                       new System.Management.ManagementScope("\\localhost\root\cimv2"),
     63                       new System.Management.ObjectQuery("SELECT * FROM Win32_DiskDrive")
     64                       ).Get();
     65                 if (ProcessCollection != null && ProcessCollection.Count > 0)
     66                 {
     67                     StringBuilder sb = new StringBuilder();
     68                     foreach (ManagementObject mo in ProcessCollection)
     69                     {
     70                         if(mo["Name"].ToString().IndexOf("DRIVE0")!=-1)
     71                         sb.Append(mo["SerialNumber"]);
     72                     }
     73                     return sb.ToString();
     74                 }
     75                 else
     76                 {
     77                     return "";
     78                 }
     79             }
     80             catch (Exception)
     81             {
     82                 return "";
     83             }
     84         }
     85 
     86         private string GetNetWorkMACSerialNumber()
     87         {
     88             try
     89             {
     90                 ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
     91                       new System.Management.ManagementScope("\\localhost\root\cimv2"),
     92                       new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
     93                       ).Get();
     94                 if (ProcessCollection != null && ProcessCollection.Count > 0)
     95                 {
     96                     StringBuilder sb = new StringBuilder();
     97                     foreach (ManagementObject mo in ProcessCollection)
     98                     {
     99                         if (mo["IPEnabled"].ToString() == "True")
    100                             sb.Append(mo["MacAddress"]);
    101                     }
    102                     return sb.ToString();
    103                 }
    104                 else
    105                 {
    106                     return "";
    107                 }
    108             }
    109             catch (Exception)
    110             {
    111                 return "";
    112             }
    113         }
  • 相关阅读:
    OMFCL 使用
    客户化 Summary 页的 Properties
    瑞星升级包下载
    观察者模式Observer
    单例模式Singleton
    java中8大排序
    向上转型和向下转型
    瀑布流的实现
    [转]降级论
    Grid的使用
  • 原文地址:https://www.cnblogs.com/maintell/p/3951139.html
Copyright © 2011-2022 走看看