標籤:c# 程式集 做了 tcl config hardware man code roc
在班上看到同事在使用加密狗,覺得自己也可以實現一個類似加密狗讀取電腦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 try11 {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 catch21 {22 23 }24 return list;25 }26 /// <summary>27 /// 擷取本機所有網卡ip地址和mac地址(ip|mac),不會返回null28 /// </summary>29 /// <returns></returns>30 public static List<string> GetNetAddress()31 {32 List<string> list = new List<string>();33 try34 {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 catch51 {52 53 }54 return list;55 }56 }
注意:
在使用ManagementClass 的時候,需要引入System.Management程式集和程式命名空間。
C#讀取電腦硬體資訊