C# 获取硬件参数的实现方法
投稿:lqh
这篇文章主要介绍了C# 获取硬件参数的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
C# 获取硬件参数的实现方法
示例代码:
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"); }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!