获取WMI属性
我在c#中很新手,但不幸的是必须发现usb端口的VID和PID。获取WMI属性
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
类别表示即插即用设备的属性。
查看更多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
是一个办法retrieve information of a WMI Class
非常感谢。它已经整理了我的问题。我会在7分钟内接受它作为答案(相当有趣,为什么我不能这么做) –
@PeterJ - 欢迎您:)并感谢您接受答案:)至于时间段:[为什么不能在提出问题后的第一个15分钟内,我接受了答案?](https://meta.stackoverflow.com/q/250132/6400526);) –
用来检查'obj'变量调试器。你应该可以钻入其属性。 – Crowcoder
不幸的是我没有成功 –