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 { } } } }