C#获取机器硬件信息
2018-07-20 来源:open-open
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 { } } } }
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:繁体转换成简体
下一篇:C++STL之归并排序
最新资讯
热门推荐