WMI的简介:
Windows Management Instrumentation (WMI) 是 Windows 操作系统的一个组件,允许通过编程方式访问应用程序、服务和其他计算机组件的管理信息(例如,配置设置和属性值)。.NET Framework 中的 WMI 基于原始的 WMI 技术,允许利用 .NET Framework 中的编程优势进行同样的应用程序和提供程序开发。
(在开始栏——》运行——》wbemtest ——》连接——》查询——》查询语句:Select * From Win32_OperatingSystem——》应用——》显示MOF就可以看到该类所有的属性)
2.WMI一般调用方法实例:
a.获取内存使用率:
public MemoryModel GetMemoryInfo()
{
SelectQuery queryTotal = new SelectQuery("Select * From Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryTotal);
var GetOSItems = searcher.Get();
foreach (ManagementObject memory in GetOSItems)
{
//获取总内存容量,单位kb转换mb
memoryInfo.TotalPhysicalMemory = (float.Parse(memory["TotalVisibleMemorySize"].ToString()) / 1024);
memoryInfo.FreePhysicalMemory = (float.Parse(memory["FreePhysicalMemory"].ToString()) / 1024);
break;//循环的时候注意添加break提高性能
}
b.获取硬盘的信息
SelectQuery query=new SelectQuery("Select * From Win32_LogicalDisk");
ManagementObjectSearcher searcher=new ManagementObjectSearcher(query);
foreach(ManagementBaseObject disk in searcher.Get())
{
Console.WriteLine("/r/n"+disk["Name"] +" "+disk["DriveType"] + " " + disk["VolumeName"]);
}
c.查看CPU信息
SelectQuery query = new SelectQuery("Select * From Win32_Processor");
ManagementObjectSearcher searcher=new ManagementObjectSearcher(query);
foreach (ManagementBaseObject processor in searcher.Get())
{
txtContent.Text = "CPU" + processor["Name"].ToString() +"........" +processor["LoadPercentage"].ToString();
}
WMI的常用类明细如下:
1、硬件类
冷却类别
Win32_Fan--风扇
Win32_HeatPipe--热管
Win32_Refrigeration--致冷
Win32_TemperatureProbe--温度传感
输入设备类别