如何在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"); }
看完上述内容,你们掌握如何在C#项目中获取硬件参数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。