Home  >  Article  >  Backend Development  >  C# Some methods of obtaining hardware parameters

C# Some methods of obtaining hardware parameters

黄舟
黄舟Original
2017-02-28 11:23:271376browse

C# Some methods of obtaining hardware parameters

private static string GetIdentifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)
        {
            string result = "";
            System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            foreach (System.Management.ManagementObject mo in moc)
            {
                if (mo[wmiMustBeTrue].ToString() == "True")
                {
                    //Only get the first one
                    if (result == "")
                    {
                        try
                        {
                            result = mo[wmiProperty].ToString();
                            break;
                        }
                        catch
                        {
                        }
                    }
                }
            }
            return result;
        }


        private static string GetIdentifier(string wmiClass, string wmiProperty)
        {
            string result = "";
            System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            foreach (System.Management.ManagementObject mo in moc)
            {
                //Only get the first one
                if (result == "")
                {
                    try
                    {
                        result = mo[wmiProperty].ToString();
                        break;
                    }
                    catch
                    {
                    }
                }
            }
            return result;
        }






// cpu id 
GetIdentifier("Win32_Processor", "UniqueId");


//processor id
GetIdentifier("Win32_Processor", "ProcessorId");


//processor name
GetIdentifier("Win32_Processor", "Name");




//Manufacturer
GetIdentifier("Win32_Processor", "Manufacturer");




//BIOS Identifier
        private static string GetBiosId()
        {
            return GetIdentifier("Win32_BIOS", "Manufacturer")
            + GetIdentifier("Win32_BIOS", "SMBIOSBIOSVersion")
            + GetIdentifier("Win32_BIOS", "IdentificationCode")
            + GetIdentifier("Win32_BIOS", "SerialNumber")
            + GetIdentifier("Win32_BIOS", "ReleaseDate")
            + GetIdentifier("Win32_BIOS", "Version");
        }
        //Main physical hard drive ID
        private static string GetDiskId()
        {
            return GetIdentifier("Win32_DiskDrive", "Model")
            + GetIdentifier("Win32_DiskDrive", "Manufacturer")
            + GetIdentifier("Win32_DiskDrive", "Signature")
            + GetIdentifier("Win32_DiskDrive", "TotalHeads");
        }
        //Motherboard ID
        private static string GetBaseId()
        {
            return GetIdentifier("Win32_BaseBoard", "Model")
            + GetIdentifier("Win32_BaseBoard", "Manufacturer")
            + GetIdentifier("Win32_BaseBoard", "Name")
            + GetIdentifier("Win32_BaseBoard", "SerialNumber");
        }
        //Primary video controller ID
        private static string GetVideoId()
        {
            return GetIdentifier("Win32_VideoController", "DriverVersion")
            + GetIdentifier("Win32_VideoController", "Name");
        }
        //First enabled network card ID
        private static string GetMacId()
        {
            return GetIdentifier("Win32_NetworkAdapterConfiguration", "MACAddress", "IPEnabled");
        }

The above is the content of some methods of obtaining hardware parameters in C#. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn