C#读取电脑硬件信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#读取电脑硬件信息相关的知识,希望对你有一定的参考价值。
在班上看到同事在使用加密狗,觉得自己也可以实现一个类似加密狗读取电脑cpu和mac地址的程序,就试着做了一个。程序比较简单,但已经实现读取功能了。
1 public class HardWareHelper 2 { 3 /// <summary> 4 /// 获取本机所有的CPU序列号(不会返回null) 5 /// </summary> 6 /// <returns></returns> 7 public static List<string> GetCpuID() 8 { 9 List<string> list = new List<string>(); 10 try 11 { 12 //获取CPU序列号代码 13 ManagementClass mc = new ManagementClass("Win32_Processor"); 14 ManagementObjectCollection moc = mc.GetInstances(); 15 foreach (ManagementObject mo in moc) 16 { 17 list.Add(mo.Properties["ProcessorId"].Value.ToString()); 18 } 19 } 20 catch 21 { 22 23 } 24 return list; 25 } 26 /// <summary> 27 /// 获取本机所有网卡ip地址和mac地址(ip|mac),不会返回null 28 /// </summary> 29 /// <returns></returns> 30 public static List<string> GetNetAddress() 31 { 32 List<string> list = new List<string>(); 33 try 34 { 35 //获取网络适配器 36 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 37 ManagementObjectCollection moc = mc.GetInstances(); 38 string mac, ip; 39 foreach (ManagementObject mo in moc) 40 { 41 if ((bool)mo["IPEnabled"] == true) 42 { 43 mac = mo["MacAddress"].ToString().Replace(":", "-"); 44 Array ar = (System.Array)(mo.Properties["IpAddress"].Value); 45 ip = ar.GetValue(0).ToString(); 46 list.Add(ip + "|" + mac); 47 } 48 } 49 } 50 catch 51 { 52 53 } 54 return list; 55 } 56 }
注意:
在使用ManagementClass 的时候,需要引入System.Management程序集和程序命名空间。
以上是关于C#读取电脑硬件信息的主要内容,如果未能解决你的问题,请参考以下文章