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