如何在Windows上使用HID设备获取供应商和产品string?

我需要获取有关Windows机器上插入HID设备的idProduct和idVendor的信息。 如何获得给定HID设备的USB_DEVICE_DESCRIPTOR?

我search了互联网,但是我只find了使用WinUSB库查询设备的示例并获取了USB_DEVICE_DESCRIPTOR。 我的理解是我不能使用WinUSB插入HID设备。

那么我需要使用什么HID设备?

如果你使用HidLibrary ,你可以得到这样的设备:

_device = HidDevices.Enumerate(VendorId, ProductId, UsagePage).FirstOrDefault(); if (_device != null) { _device.OpenDevice(); string product = GetProductString(_device); string mfg = GetManufacturerString(_device); } 

后两个函数定义如下:

  private string GetProductString(HidDevice d) { byte[] bs; _device.ReadProduct(out bs); string ps = ""; foreach (byte b in bs) { if (b > 0) ps += ((char)b).ToString(); } return ps; } private string GetManufacturerString(HidDevice d) { byte[] bs; _device.ReadManufacturer(out bs); string ps = ""; foreach (byte b in bs) { if (b > 0) ps += ((char)b).ToString(); } return ps; }