获取 WMI 属性

Get WMI properties

我是 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"

此代码通过 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... */
};

ManagementObjectSearcher is one way to retrieve information of a WMI Class