【转载】C#读取电脑信息(CPU序列号,网卡硬件地址,IP地址,硬盘ID等)

注意不要忘记添加引用System.Management

using System.Management;

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

            }

            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
                {

                }

            }
        }

此条目发表在C#分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表评论