天天看点

c#获取机器硬件信息

using System;  

using System.Management;  

namespace Soyee.Comm  

{  

    /// <summary>  

    /// Computer Information  

    /// </summary>  

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

        public static Computer Instance()  

        {  

            if (_instance == null)  

                _instance = new Computer();  

            return _instance;  

        }  

        protected  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()  

                //获取网卡硬件地址  

                string mac="";  

                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");  

                    if((bool)mo["IPEnabled"] == true)  

                    {  

                        mac=mo["MacAddress"].ToString();  

                        break;  

                    }  

                return mac;  

        string  GetIPAddress()  

                //获取IP地址  

                string st="";  

                        //st=mo["IpAddress"].ToString();  

                        System.Array ar;  

                        ar=(System.Array)(mo.Properties["IpAddress"].Value);  

                        st=ar.GetValue(0).ToString();  

                return st;  

        string  GetDiskID()  

                //获取硬盘ID  

                String HDid="";  

                ManagementClass mc = new ManagementClass("Win32_DiskDrive");  

                    HDid = (string)mo.Properties["Model"].Value;  

                return HDid;  

        /// <summary>  

        /// 操作系统的登录用户名  

        /// </summary>  

        /// <returns></returns>  

        string  GetUserName()  

                ManagementClass mc = new ManagementClass("Win32_ComputerSystem");  

                    st=mo["UserName"].ToString();  

        /// PC类型  

        string  GetSystemType()  

                    st=mo["SystemType"].ToString();  

        /// 物理内存  

        string  GetTotalPhysicalMemory()  

                    st=mo["TotalPhysicalMemory"].ToString();  

        ///   

        string  GetComputerName()  

            {                 

                return System.Environment.GetEnvironmentVariable("ComputerName");  

    }  

}