使用C#扫描人机接口设备(HID)

我正在开发一个C#.NET 2.0应用程序,我需要扫描附加的HID。 如何才能做到这一点? 因为它是HID,Windows不会为其分配COM端口。 我只需要以编程方式确定设备是否已连接。 谢谢。

附加信息

当我将USB设备连接到我的计算机时,设备管理器中的人机接口设备下会显示两个条目。 单击其属性可在各自的“详细信息”选项卡中生成此信息:

HID兼容设备设备实例ID:HID \ VID_1795&PID_6004 \ 7&2694D932&0&0000

USB人机接口设备设备实例ID:USB \ VID_1795&PID_6004 \ B973000000EB0D00

在WMI代码创建器中选择以下选项:

命名空间:root \ WMI

类:MSWmi_PnPInstanceNames

从结果框中为以下代码选择InstanceNames

 using System; using System.Management; using System.Windows.Forms; namespace WMISample { public class MyWMIQuery { public static void Main() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSWmi_PnPInstanceNames"); foreach (ManagementObject queryObj in searcher.Get()) { Console.WriteLine("-----------------------------------"); Console.WriteLine("MSWmi_PnPInstanceNames instance"); Console.WriteLine("-----------------------------------"); Console.WriteLine("InstanceName: {0}", queryObj["InstanceName"]); } } catch (ManagementException e) { MessageBox.Show("An error occurred while querying for WMI data: " + e.Message); } } } }