C#调用WMI获取Windows性能说明与范例

本文介绍了如何使用C#通过Windows Management Instrumentation (WMI) 来获取Windows系统的性能信息,包括内存使用率、硬盘信息和CPU状态。通过示例代码展示了如何查询Win32_OperatingSystem、Win32_LogicalDisk和Win32_Processor等类以获取相关数据,并列举了WMI中与硬件和操作系统相关的常用类。
摘要由CSDN通过智能技术生成

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--温度传感
输入设备类别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值