zoukankan      html  css  js  c++  java
  • [转].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
  • 相关阅读:
    函数
    python操作文件
    POJ-2689-Prime Distance(素数区间筛法)
    POJ-2891-Strange Way to Express Integers(线性同余方程组)
    POJ-2142-The Balance
    POJ-1061-青蛙的约会(扩展欧几里得)
    Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
    Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer
    Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes
    Educational Codeforces Round 75 (Rated for Div. 2) A. Broken Keyboard
  • 原文地址:https://www.cnblogs.com/apiapia/p/1143796.html
Copyright © 2011-2022 走看看