【发布时间】:2012-03-17 00:44:05
【问题描述】:
我在这里浏览了许多有关 WMI 的帖子,但仍然遇到了一些麻烦。我想从 WMI 检索 CPU 使用情况,我的查询检索 ManagementObjectSearcher 必须提供的所有内容,但它返回 null 并且从不拉回任何信息。
另外,对于我要提取的数据类型,我应该使用 int16 吗?
希望有人能对此有所了解并送我上路。谢谢。
public void GetPhysicalMemory()
{
ManagementObjectSearcher mgtObj = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_ComputerSystem"); // Win32_OPeratingSystem");
ManagementObjectCollection mgtColl = mgtObj.Get();
// foreach (ManagementObject obj in mgtObj.Get())
if (mgtColl.Count != 0 )
{
foreach (ManagementBaseObject mgtBaseObj in mgtColl)
{
var[] data = mgtBaseObj["NumberOfProcessors"] as int16[];
if (data != null)
{
Console.WriteLine(data);
}
else
{
Console.WriteLine("Collection = null");
Console.Read();
Console.Read();
}
}
}
【问题讨论】:
-
您要获取处理器数量还是 CPU 使用率?
-
我实际上正在寻找更多来返回 CPU 使用率,我在黑暗中使用 NumberOfProcessors 拉回任何东西。