【问题标题】:Block keystrokes from a specific keyboard阻止来自特定键盘的击键
【发布时间】:2012-10-04 20:28:03
【问题描述】:

我想阻止来自特定键盘的所有击键(由其 HID/名称标识,所以我猜它是低级的东西)在它们到达焦点应用程序之前。但我仍在使用这个禁用的键盘(我正在敲击键盘)。我想我需要一个应用程序的钩子,但我不知道该怎么做。也许你可以给我一些有用的链接?

问候,

编辑:

我认为我需要一个低级挂钩,因为一般挂钩(我的意思是挂钩所有现有的窗口和线程)在 .net 框架中不可用,涉及用户空间。 此外,我使用 RAWINPUT 从键盘获取键入的击键。因此,如果我制作一个挂钩来阻止来自特定设备的击键,那么该挂钩是否也能阻止 RAWINPUT?

【问题讨论】:

  • 我猜 setWindowHookEx 仅适用于特定的句柄/进程。我想始终关注最重要的流程。也许我可以尝试获得一种“焦点改变”事件,但我没有找到任何好的信息。
  • 这个程序似乎做我想做的事,但我不明白程序员是怎么做的。 nate.dynalias.net/dev/keyboardredirector.rails

标签: winapi capture keystroke


【解决方案1】:

应用程序可以通过getting raw input data 区分输入源。但是,应用程序需要处理 WM_INPUT 而不是 WM_CHAR、WM_MOUSEMOVE 或 WM_APPCOMMAND。

【讨论】:

  • 我不确定你是否理解我的问题。我想要做的是禁止焦点窗口(所以它不是我的应用程序)从特定设备(如键盘)接收数据。我很确定我需要挂钩焦点窗口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 2017-05-11
  • 2013-08-23
  • 1970-01-01
相关资源
最近更新 更多