C#获取本地计算机名,IP,MAC地址,硬盘ID(转)

    using System;  
    using System.Data;  
    using System.Configuration;  
    using System.Linq;  
    using System.Web;  
    using System.Web.Security;  
    using System.Web.UI;  
    using System.Web.UI.HtmlControls;  
    using System.Web.UI.WebControls;  
    using System.Web.UI.WebControls.WebParts;  
    using System.Xml.Linq;  
    using System.Management;  
      
    /// <summary>  
    ///Computer 的摘要说明  
    /// </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;  
        }  
        public Computer()  
        {  
            CpuID = GetCpuID();  
            MacAddress = GetMacAddress();  
            DiskID = GetDiskID();  
            IpAddress = GetIPAddress();  
            LoginUserName = GetUserName();  
            SystemType = GetSystemType();  
            TotalPhysicalMemory = GetTotalPhysicalMemory();  
            ComputerName = GetComputerName();  
        }  
        public 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  
            {  
            }  
      
        }  
        public 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  
            {  
            }  
      
        }  
        public 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  
            {  
            }  
      
        }  
      
        public 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>   
        public 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>   
        public 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>   
        public 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>   
        public string GetComputerName()  
        {  
            try  
            {  
                return System.Environment.GetEnvironmentVariable("ComputerName");  
            }  
            catch  
            {  
                return "unknow";  
            }  
            finally  
            {  
            }  
        }  
      
      
      
    }  

猜你喜欢

转载自blog.csdn.net/qq_39774060/article/details/80572040
今日推荐