在C#中使用WMI

关于WMI的介绍可以参考https://www.cnblogs.com/zhaotianff/p/14764740.html

 

在C#中使用主要用到

ManagementClassManagementObjectSearcher两个类

 

示例代码如下:

复制代码
 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");

 

posted @   zhaotianff  阅读(227)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示