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

此方法仅限于c# winform程序,不适合webform。

代码如下:

using System;

using System.Collections.Generic;

using System.Data;

using System.Configuration;

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.Management;



namespace ToptenstudentsVote

{

    /// <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

            {

            }

        }

    }

}

你可能感兴趣的:(mac)