C# 擷取本機CPU序號,MAC地址,硬碟ID,本機IP地址,電腦名稱,實體記憶體,PC類型

來源:互聯網
上載者:User

首先引入服務 然後 調用

本文轉載自http://blog.sina.com.cn/s/blog_7eeb43210101hf7f.html

 

  public class Computer    {        public static string CpuID; //1.cpu序號        public static string MacAddress; //2.mac序號        public static string DiskID; //3.硬碟id        public static string IpAddress; //4.ip地址        public static string LoginUserName; //5.登入使用者名稱        public static string ComputerName; //6.電腦名稱        public static string SystemType; //7.系統類別型        public static string TotalPhysicalMemory; //8.記憶體量 單位:M         static   Computer()        {            CpuID = GetCpuID();            MacAddress = GetMacAddress();            DiskID = GetDiskID();            IpAddress = GetIPAddress();            LoginUserName = GetUserName();            SystemType = GetSystemType();            TotalPhysicalMemory = GetTotalPhysicalMemory();            ComputerName = GetComputerName();        }        //1.擷取CPU序號代碼        static  string GetCpuID()        {            try            {                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            {            }        }        //2.擷取網卡硬體地址        static 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            {            }        }        //3.擷取硬碟ID        static string GetDiskID()        {            try            {                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            {            }        }        //4.擷取IP地址        static string GetIPAddress()        {            try            {                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            {            }        }        /// 5.作業系統的登入使用者名稱        static string GetUserName()        {            try            {                string un = "";                un = Environment.UserName;                return un;            }            catch            {                return "unknow";            }            finally            {            }        }        //6.擷取電腦名稱       static string GetComputerName()        {            try            {                return System.Environment.MachineName;            }            catch            {                return "unknow";            }            finally            {            }        }        ///7 PC類型        static 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            {            }        }        ///8.實體記憶體               static 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            {            }        }    }


我們在利用C#開發傳統型程式(Winform)程式的時候,經常需要擷取一些跟系統相關的資訊,例如使用者名稱、MAC地址、IP地址、硬碟ID、CPU序號、系統名稱、實體記憶體等。

首先需要引入命名空間:

[csharp]  view plain  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.