获取 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
我是 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