【问题标题】:Get the real adapter information only using WMI query?仅使用 WMI 查询获取真正的适配器信息?
【发布时间】:2012-04-10 15:46:22
【问题描述】:

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

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

结果是:
Radmin 镜像驱动程序 v3
ATI Mobility Radeon HD 5650
LogMeIn 镜像驱动程序
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 中的真正适配器?

【问题讨论】:

    标签: c# wmi-query system.management


    【解决方案1】:

    未找到,因为您在查询中仅选择了 Name。改用这个:

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

    至于第二个问题,我不确定,但您的内存过滤器似乎工作得很好。

    【讨论】:

    • 我真的很抱歉 .. 我的错 .. 我编辑了我的问题 .. 只是想要一种只返回真实驱动程序的通用方式
    • 不过,答案是一样的。我认为 AdapterRAM 是一个很好的过滤选项,所以你可以坚持下去,时间会证明一切。我没有看到任何属性可以为您提供 100% 的保证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多