仅使用WMI查询获取真正的适配器信息?

时间:2012-04-10 07:20:03

标签: c# wmi-query system.management

我试图使用WMI获取一些系统信息但问题是当我想获得例如图形卡信息时..我得到许多驱动程序(真实和虚拟)

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select Name from " + key);
foreach (ManagementObject share in searcher.Get())
{
   Console.WriteLine(share["Name"].ToString());
}

结果是:
Radmin Mirror Driver v3
ATI Mobility Radeon HD 5650
LogMeIn镜像驱动器
PCI PCI GDIHOOK5

所以我决定编辑查询以仅获取真实的...在这种情况下,真正的应该具有不等于null的AdapterRam

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select Name,AdapterRAM from " + key+" where AdapterRAM is not null");
foreach (ManagementObject share in searcher.Get())
{
   Console.WriteLine(share["Name"].ToString());
   Console.WriteLine(share["AdapterRAM"].ToString());
}

结果是:
ATI Mobility Radeon HD 5650
字节数

是否有更好的通用方法只能获得WMI中真正的adpater?

1 个答案:

答案 0 :(得分:0)

找不到,因为您只在查询中选择Name。请改用:

"select * from " + key+" where AdapterRAM is not null"

至于第二个问题,我不确定,但看起来你的记忆过滤器效果还不错。