C#獲取機器硬件信息
using System; using System.Management; namespace Soyee.Comm { /// <summary> /// Computer Information /// </summary> public class Computer { public string CpuID; public string MacAddress; public string DiskID; public string IpAddress; public string LoginUserName; public string ComputerName; public string SystemType; public string TotalPhysicalMemory; //單位:M private static Computer _instance; public static Computer Instance() { if (_instance == null) _instance = new Computer(); return _instance; } protected Computer() { CpuID=GetCpuID(); MacAddress=GetMacAddress(); DiskID=GetDiskID(); IpAddress=GetIPAddress(); LoginUserName=GetUserName(); SystemType=GetSystemType(); TotalPhysicalMemory=GetTotalPhysicalMemory(); ComputerName=GetComputerName(); } string GetCpuID() { try { //獲取CPU序列號代碼 string cpuInfo = "";//cpu序列號 ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); } moc=null; mc=null; return cpuInfo; } catch { return "unknow"; } finally { } } string GetMacAddress() { try { //獲取網卡硬件地址 string mac=""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { if((bool)mo["IPEnabled"] == true) { mac=mo["MacAddress"].ToString(); break; } } moc=null; mc=null; return mac; } catch { return "unknow"; } finally { } } string GetIPAddress() { try { //獲取IP地址 string st=""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { if((bool)mo["IPEnabled"] == true) { //st=mo["IpAddress"].ToString(); System.Array ar; ar=(System.Array)(mo.Properties["IpAddress"].Value); st=ar.GetValue(0).ToString(); break; } } moc=null; mc=null; return st; } catch { return "unknow"; } finally { } } string GetDiskID() { try { //獲取硬盤ID String HDid=""; ManagementClass mc = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { HDid = (string)mo.Properties["Model"].Value; } moc=null; mc=null; return HDid; } catch { return "unknow"; } finally { } } /// <summary> /// 操作系統的登錄用戶名 /// </summary> /// <returns></returns> string GetUserName() { try { string st=""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { st=mo["UserName"].ToString(); } moc=null; mc=null; return st; } catch { return "unknow"; } finally { } } /// <summary> /// PC類型 /// </summary> /// <returns></returns> string GetSystemType() { try { string st=""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { st=mo["SystemType"].ToString(); } moc=null; mc=null; return st; } catch { return "unknow"; } finally { } } /// <summary> /// 物理內存 /// </summary> /// <returns></returns> string GetTotalPhysicalMemory() { try { string st=""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { st=mo["TotalPhysicalMemory"].ToString(); } moc=null; mc=null; return st; } catch { return "unknow"; } finally { } } /// <summary> /// /// </summary> /// <returns></returns> string GetComputerName() { try { return System.Environment.GetEnvironmentVariable("ComputerName"); } catch { return "unknow"; } finally { } } } }
</pre>
本文由用戶 nnf6 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!