C# 获取硬件参数的实现方法

时间:2022-01-12 03:50:52

C# 获取硬件参数的实现方法

示例代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
private static string GetIdentifier(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")
        {
          //Only get the first one
          if (result == "")
          {
            try
            {
              result = mo[wmiProperty].ToString();
              break;
            }
            catch
            {
            }
          }
        }
      }
      return result;
    }
 
 
    private static string GetIdentifier(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)
      {
        //Only get the first one
        if (result == "")
        {
          try
          {
            result = mo[wmiProperty].ToString();
            break;
          }
          catch
          {
          }
        }
      }
      return result;
    }
 
 
 
 
 
 
// cpu id 
GetIdentifier("Win32_Processor", "UniqueId");
 
 
//processor id
GetIdentifier("Win32_Processor", "ProcessorId");
 
 
//processor name
GetIdentifier("Win32_Processor", "Name");
 
 
 
 
//Manufacturer
GetIdentifier("Win32_Processor", "Manufacturer");
 
 
 
 
//BIOS Identifier
    private static string GetBiosId()
    {
      return GetIdentifier("Win32_BIOS", "Manufacturer")
      + GetIdentifier("Win32_BIOS", "SMBIOSBIOSVersion")
      + GetIdentifier("Win32_BIOS", "IdentificationCode")
      + GetIdentifier("Win32_BIOS", "SerialNumber")
      + GetIdentifier("Win32_BIOS", "ReleaseDate")
      + GetIdentifier("Win32_BIOS", "Version");
    }
    //Main physical hard drive ID
    private static string GetDiskId()
    {
      return GetIdentifier("Win32_DiskDrive", "Model")
      + GetIdentifier("Win32_DiskDrive", "Manufacturer")
      + GetIdentifier("Win32_DiskDrive", "Signature")
      + GetIdentifier("Win32_DiskDrive", "TotalHeads");
    }
    //Motherboard ID
    private static string GetBaseId()
    {
      return GetIdentifier("Win32_BaseBoard", "Model")
      + GetIdentifier("Win32_BaseBoard", "Manufacturer")
      + GetIdentifier("Win32_BaseBoard", "Name")
      + GetIdentifier("Win32_BaseBoard", "SerialNumber");
    }
    //Primary video controller ID
    private static string GetVideoId()
    {
      return GetIdentifier("Win32_VideoController", "DriverVersion")
      + GetIdentifier("Win32_VideoController", "Name");
    }
    //First enabled network card ID
    private static string GetMacId()
    {
      return GetIdentifier("Win32_NetworkAdapterConfiguration", "MACAddress", "IPEnabled");
    }

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/lan_liang/article/details/52554464