C#获取硬件序列号

public class GetInfo
    {
        /// <summary>
        /// 获取硬盘的序列号
        /// </summary>
        /// <returns></returns>
        public static string GetDiskID()
        {
            String HDid = string.Empty;
            ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moc = cimobject.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                if (HDid == string.Empty)
                {
                    HDid = (string)mo.Properties["Model"].Value;
                    break;
                }
            }
            return HDid;
        }
        /// <summary>
        /// 获取磁盘分区信息
        /// </summary>
        /// <param name="strDriveLetter"></param>
        /// <returns></returns>
        public static string GetVolumeSerial(string strDriveLetter)
        {
            if (strDriveLetter == "" || strDriveLetter == null)
            {
                strDriveLetter = "C:";
            }
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter + "\"");
            disk.Get();
            Debug.WriteLine("FreeSpace: " + disk["FreeSpace"].ToString());
            return disk["VolumeSerialNumber"].ToString();
        }
        /// <summary>
        /// 获取网卡地址
        /// </summary>
        /// <returns></returns>
        public static string GetMACAddress()
        {
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc = mc.GetInstances();
            string MACAddress = String.Empty;
            foreach (ManagementObject mo in moc)
            {
                if (mo["MacAddress"] != null)
                {
                    Debug.WriteLine("Network Adapter Description: " + mo["Description"].ToString() + "-" + mo["MacAddress"].ToString());
                }
                if (MACAddress == String.Empty)
                {
                    if ((bool)mo["IPEnabled"] == true)
                    {
                        MACAddress = mo["MacAddress"].ToString();
                    }
                }
                mo.Dispose();
            }
            MACAddress = MACAddress.Replace(":", "");
            return MACAddress;
        }
        /// <summary>
        /// 获取CPU序列号
        /// </summary>
        /// <returns></returns>
        public static string GetCPUId()
        {
            string cpuInfo = String.Empty;
            string temp = String.Empty;
            ManagementClass mc = new ManagementClass("Win32_Processor");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                Debug.WriteLine("Processor Caption: " + mo.Properties["Caption"].Value.ToString());
                Debug.WriteLine("Processor MaxClockSpeed: " + mo.Properties["MaxClockSpeed"].Value.ToString());
                if (cpuInfo == String.Empty)
                {
                    cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
                }
            }
            return cpuInfo;
        }

    }

QQ:67042248

天之道,利而不害;圣人之道,为而不争.

原文地址:https://www.cnblogs.com/kk1230/p/1609507.html