using System; using System.Management; namespace HTSoft.Common.Register { /**//**//**////<summary> /// 计算机信息类 ///</summary> internalclass Computer { publicstring CpuID; publicstring MacAddress; publicstring DiskID; publicstring IpAddress; publicstring LoginUserName; publicstring ComputerName; publicstring SystemType; publicstring TotalPhysicalMemory; //单位:M privatestatic Computer _instance; internalstatic Computer Instance() { if (_instance ==null) _instance =new Computer(); return _instance; } internal 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 { } } } }
CPU温度
Public Function GetCPUTemp() As Double Dim i As Integer Dim mCPU As Variant Dim u As Variant Dim s As String Set mCPU = GetObject("WINMGMTS:{impersonationLevel=impersonate}!rootwmi").ExecQuery("Select CurrentTemperature From MSAcpi_ThermalZoneTemperature") For Each u In mCPU s = s & u.CurrentTemperature Next Set mCPU = Nothing GetCPUTemp = (s -2732) /10 DoEvents End Function