[转].net读取硬件信息的参考代码

using System;
using System.Management;

namespace HTSoft.Common.Register
{
    
/**//// <summary> 
    
/// 计算机信息类
    
/// </summary> 

    internal 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;

        
internal static 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


Source:http://blog.csdn.net/xykwgjyygy/archive/2008/02/22/2112697.aspx
原文地址:https://www.cnblogs.com/apiapia/p/1143796.html