.net获取硬件信息

来源:互联网 发布:php软件开发难吗 编辑:程序博客网 时间:2024/05/29 18:22

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Management;using Microsoft.Win32;using Microsoft.VisualBasic.Devices;using System.Windows.Forms;using System.Drawing;namespace PMS.Common{    public static class GetMachineInfo    {        /// <summary>        /// 取机器名        /// </summary>        /// <returns></returns>        public static string GethostName()        {            return System.Net.Dns.GetHostName();        }        /// <summary>        /// 获取cpu序列号        /// </summary>        /// <returns></returns>        public static string GetCPUSerialNumber()        {            string cpuSerialNumber = "";            try            {                ManagementClass mc = new ManagementClass("Win32_Processor");                ManagementObjectCollection moc = mc.GetInstances();                foreach (ManagementObject mo in moc)                {                    cpuSerialNumber = mo["ProcessorId"].ToString();                    break;                }                mc.Dispose();                moc.Dispose();            }            catch { }            return cpuSerialNumber.Replace("-", "").Replace(" ", "").Replace(":", "");        }        /// <summary>        /// 获取硬盘序列号        /// </summary>        /// <returns></returns>        public static string GetDiskSerialNumber()        {            string strID = "";            try            {                ManagementClass mc = new ManagementClass("Win32_PhysicalMedia");                ManagementObjectCollection moc = mc.GetInstances();                foreach (ManagementObject mo in moc)                {                    strID = mo.Properties["SerialNumber"].Value.ToString();                    break;                }            }            catch { }            return strID.Replace("-", "").Replace(" ", "").Replace(":", "");        }        /// <summary>        /// 获取网卡硬件地址        /// </summary>        /// <returns></returns>        public static string GetMacAddress()        {            string MacAddress = "";            try            {                using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))                {                    ManagementObjectCollection moc2 = mc.GetInstances();                    foreach (ManagementObject mo in moc2)                    {                        if ((bool)mo["IPEnabled"] == true)                        {                            MacAddress = mo["MacAddress"].ToString();                        }                    }                }            }            catch { }            return MacAddress.Replace("-", "").Replace(" ", "").Replace(":", "");        }        /// <summary>        /// 内存        /// </summary>        /// <returns></returns>        public static string GetMemory()        {            string st = "";            try            {                ManagementClass mc = new ManagementClass("Win32_ComputerSystem");                ManagementObjectCollection moc = mc.GetInstances();                foreach (ManagementObject mo in moc)                {                    st = mo["TotalPhysicalMemory"].ToString();                }                moc = null;                mc = null;            }            catch { }            return st.Replace("-", "").Replace(" ", "").Replace(":", "");        }        /// <summary>        /// 读取BIOS        /// </summary>        /// <returns></returns>        public static string GetBIOS()        {            string strID = "";            try            {                ManagementClass mc = new ManagementClass("Win32_BIOS");                ManagementObjectCollection moc = mc.GetInstances();                foreach (ManagementObject mo in moc)                {                    strID = mo.Properties["SerialNumber"].Value.ToString();                    break;                }            }            catch { }            return strID.Replace("-", "").Replace(" ", "").Replace(":", "");        }        /// <summary>        /// 获取操作系统版本        /// </summary>        /// <returns></returns>        public static string GetOS()        {            return new ComputerInfo().OSFullName;        }        /// <summary>        /// 获取分辨率        /// </summary>        /// <returns></returns>        public static string GetOsResolution()        {            Rectangle rect = Screen.PrimaryScreen.Bounds;            int width = rect.Width;            int height = rect.Height;            return width + "*" + height;        }        /// <summary>        /// 获取当前显示器的分辨率        /// </summary>        /// <returns></returns>        public static string GetOsMemory()        {            double d = Convert.ToDouble(1024);            double result = new ComputerInfo().TotalPhysicalMemory / d / d / d;            return Math.Round(result) + "G";        }    }}


获取硬件信息时,请优先使用命名空间Microsoft.VisualBasic.Devices(需要导入)下的ComputerInfo类


0 0
原创粉丝点击