低级键盘挂钩不适用于特定应用程序中的特定设备

时间:2013-09-16 00:10:06

标签: mfc windows-ce raw-input keyboard-hook setwindowshookex

我已经在Windows CE 4.2上使用SetWindowsHookEX()编写了一个低级键盘钩子,它似乎工作得很好。我可以根据需要在记事本和其他应用程序中使用键盘和条形码扫描仪查看关键事件,但我没有在一个应用程序中看到条形码扫描程序事件我想要收集密钥。我仍然看到来自但是,键盘,所以我知道键盘钩仍在工作,并在钩链。我甚至尝试在每毫秒插入我的钩子只是为了看它是否会有所作为,但没有骰子。如果我回到记事本,那就回到了我想要的方式。

我不确定当该应用程序处于活动状态时,其他应用程序正在做什么来控制扫描程序,从而阻止它再次像键盘一样运行。对此的任何想法将不胜感激。我做了一堆没有任何成功的搜索。我考虑过尝试使用RAWINPUT,但是从我可以看到的内容似乎不支持Windows CE 4.2,因为我没有在SDK中看到user32.dll。

1 个答案:

答案 0 :(得分:1)

有两种方法可以在大多数WEC设备上获取条形码数据。

  1. 键盘楔(数据以键盘事件的形式出现)
  2. OEM特定条形码阅读器API
  3. 如果您正在查看的其他应用程序使用选项#2,那么没有要检索的键盘数据,因此您不会看到任何键盘数据。也就是说,您可以阅读this article以查看它是否提供了键盘挂钩的任何提示。

    大型Windows中user32.dll导出的函数通常位于WEC / WEH的coredll.dll中。

    -PaulH