C# 擷取電腦資訊類

來源:互聯網
上載者:User
using System;using System.Management;namespace HTSoft.Common.Register{    /// <summary>     /// 電腦資訊類    /// </summary>     internal 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;        internal static Computer Instance()        {            if (_instance == null)                _instance = new Computer();            return _instance;        }        internal 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            {            }        }    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.