• [转].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
  • 相关阅读:
    关于hexo-abbrlink链接undefined
    如何修改layer-layui中的confirm
    cmder的segmentation fault错误修复
    论好的代码习惯的养成/做一个优雅的coder
    50行代码写的一个插件,破解一个H5小游戏
    慎用array_filter函数
    python:if 语句的使用方法
    python:for语句的使用方法
    关于python3 发送邮件
    zookpeer的安装与配置
  • 原文地址:https://www.cnblogs.com/apiapia/p/1143796.html
Copyright © 2020-2023  润新知