加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#获取机器硬件信息

发布时间:2020-12-15 17:58:29 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 using System; using System.Management; namespace Soyee.Comm { /// summary /// Computer Information /// /summary public class Computer { publ

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    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()  
            {  
                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  
                {  
                }  
            }  
      
      
        }  
    }


以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读