类对象支持库(旁路插件 supportlib.hid)。路径:支持库 → 扩展类库 → HID类。
用户态枚举 HID 设备并读写 输入/输出/特征报表。动态加载系统 hid.dll,免费。
类型名必须写完整「HID类」。
硬约束
- 类型名必须写「HID类」。
- 只打开你指定的设备路径/索引;不做全局键盘钩子、不做后台按键记录(避免杀毒误报与隐私问题)。
- 键鼠等系统占用设备可能打不开或读不到;游戏手柄、扫码枪 HID、自定义 HID 更合适。
- 报表首字节通常为 Report ID,长度见
取输入/输出/特征报表长度()。 - Windows 7 及以上(推荐 10/11)。
快速开始
HID类 h
如果 (!h.枚举()) {
输出(h.取错误())
返回 ()
}
计次循环 (整数 i = 0; i < h.取设备数(); i++) {
输出(到文本(h.取厂商ID(i)) + ":" + 到文本(h.取产品ID(i)) + " " + h.取产品名(i))
}
' 按用量过滤示例:游戏手柄常见 UsagePage=0x01 Usage=0x05
' h.枚举("", 1, 5)
方法一览
逻辑 枚举([文本 硬件ID过滤], [整数 用量页=0], [整数 用量=0])整数 取设备数()/文本 取设备路径|取产品名|取厂商名|取硬件ID(索引)整数 取厂商ID|取产品ID|取用量页|取用量(索引)逻辑 打开(文本 路径)/逻辑 打开索引(整数 索引)/关闭()整数 取输入报表长度()/取输出报表长度()/取特征报表长度()字节集 读报表([超时])/逻辑 写报表(字节集)字节集 取特征报表([报表ID], [长度])/逻辑 置特征报表(字节集)文本 取错误()
选型
| 需求 | 建议 |
|---|---|
| COM 口 | 串口类 |
| WinUSB 批量/控制 | WinUSB类 |
| SetupAPI + DeviceIoControl | 设备类 |
| HID 报表 | HID类(本文) |