您可以使用原始输入 API在操作系统处理键盘事件之前监视它们。API 将告诉您哪个设备正在发送每个事件,因此您可以仅从扫描仪记录事件。
但是,原始输入 API 不允许您阻止输入,因此要阻止扫描仪的事件作为普通键盘事件进行处理,您需要设置SetWindowsHookEx()一个键盘挂钩来消除事件。
但是,SetWindowsHookEx()不会报告哪个设备正在发送每个事件,因此您必须手动协调两个 API。当原始输入检测到键盘事件时,根据事件来自的设备设置一个标志。当钩子检测到相应的事件时,检查标志,如果标志指示扫描仪设备,则消除该事件。
请参阅CodeProject 上的组合原始输入和键盘挂钩以选择性地阻止来自多个键盘的输入。