我想将RawInput API用于条形码阅读器,但我不希望条形码阅读器的输出在完成后由Windows处理。
我想使用RawInput API的原因是它允许我辨别常规键盘输入和条形码阅读器输入。
我知道这可以使用低级别的键盘程序来完成,但是这不会提供有关该事件的设备的任何信息。
答案 0 :(得分:0)
根据以下问题,似乎无法使用RawInput API来吞下键输入:Is it possible to swallow a key in Raw Input?。
另一种可能性是从RawInput API将焦点设置到我的应用程序,并处理主窗体的KeyPress事件中的输入。这样我可以通过将e.Handled状态设置为true来抑制键。
另一种替代方法是使用全局钩子和RawInput API,但这需要两个单独的进程,因为RawInput API在同一进程中取消挂钩任何全局钩子。