在C#中使用WMI
关于WMI的介绍可以参考https://www.cnblogs.com/zhaotianff/p/14764740.html
在C#中使用主要用到
ManagementClass和ManagementObjectSearcher两个类
示例代码如下:
1 internal class WMIHelper 2 { 3 internal static string GetWmiProperty(string wmiObject,string propertyName) 4 { 5 ManagementClass managementClass = new ManagementClass(wmiObject); 6 ManagementObjectCollection moc = managementClass.GetInstances(); 7 8 foreach (ManagementObject managementObject in moc) 9 { 10 return managementObject[propertyName].ToString(); 11 } 12 return ""; 13 } 14 15 internal static Dictionary<string,string> GetAllWmiProperty(string wmiObject) 16 { 17 Dictionary<string, string> dic = new Dictionary<string, string>(); 18 ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("select * from " + wmiObject); 19 20 foreach (ManagementObject managementObject in managementObjectSearcher.Get()) 21 { 22 foreach (PropertyData property in managementObject.Properties) 23 { 24 dic.Add(property.Name, property.Value == null ? "" : property.Value.ToString()); 25 } 26 } 27 28 return dic; 29 } 30 }
例如获取CPU ID
1 internal static string GetCpuId() 2 { 3 return WMIHelper.GetWmiProperty("win32_processor", "processorid"); 4 }
获取CPU所有信息
1 WMIHelper.GetAllWmiProperty("win32_processor");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南