获取WMI属性

时间:2017-05-06 11:59:45

标签: c# usb wmi wmi-query

我在c#中相当新手但不幸的是必须发现usb端口的VID和PID。

ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_PnPEntity WHERE ConfigManagerErrorCode = 0");
ManagementObjectSearcher comPortSearcher = new ManagementObjectSearcher(connectionScope, objectQuery);

using (comPortSearcher)
{
    string caption = null;
    foreach (ManagementObject obj in comPortSearcher.Get())
    {
        if (obj != null)
        {
            object captionObj = obj["Caption"];
            // Rest of code
        }
    }
}

我实际上无法理解这个键"Caption"来自何处。如何知道此对象中隐藏了哪些其他键?对我来说这是非常不清楚的。 如何获取其他此类"Keys"

的列表

1 个答案:

答案 0 :(得分:1)

此代码通过WMI访问不同的属性。具体来说,Win32_PnPEntity class 表示即插即用设备的属性

在MSDN上查看有关Win32_PnPEntity class及其属性的更多信息:

[Dynamic, Provider("CIMWin32"), UUID("{FE28FD98-C875-11d2-B352-00104BC97924}"), AMENDMENT]
class Win32_PnPEntity : CIM_LogicalDevice
{
  uint16   Availability;
  string   Caption;
  string   ClassGuid;
  string   CompatibleID[];
  uint32   ConfigManagerErrorCode;
  /* Rest of properties... */
};

ManagementObjectSearcherretrieve information of a WMI Class

的一种方式