检测哪个USB设备生成输入

时间:2014-10-31 15:14:57

标签: c++ windows winapi

我有2个键盘,我想知道是否可以知道哪个键盘在Windows中生成输入事件(使用WINAPI)?

1 个答案:

答案 0 :(得分:9)

Windows有一个RAW Input API,可用于监控键盘,鼠标和HID(操纵杆等)中的事件,而无需使用低级别的挂钩。

使用GetRawInputDeviceList()GetRawInputDeviceInfo()来发现哪些键盘设备已连接到系统。

使用RegisterRawInputDevices()注册所需键盘设备的事件。

每当注册设备上发生输入事件时,您都会收到WM_INPUT消息。它会告诉你哪个设备发送了它。

添加和删除设备时,还会有WM_INPUT_DEVICE_CHANGE消息通知您。