改变一个通过钩子的击键(c / c ++)

时间:2009-10-27 11:53:33

标签: c++ winapi hook keystroke

是否可以使用winapi键盘钩编辑击键?好吧,不是必要的键盘钩子,但类似的东西..

我想做这样的事情:

用户按下键'A'

我的函数为虚拟键码添加1(只是一个例子)

'A'变为'B'

并将'B'发送到目标应用程序

谢谢!

3 个答案:

答案 0 :(得分:1)

首先,您需要一个Keyboardhook。您安装了一个过滤器,过滤器功能在键盘钩子时接收虚拟键代码和键盘状态。然后,您可以更改虚拟密钥代码。

其他链接:

http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx

http://msdn.microsoft.com/en-us/library/ms644984(VS.85).aspx

答案 1 :(得分:0)

我认为你可以通过使用键盘钩子吃掉用户输入的击键来实现。 并生成你想要的角色的key_event。

答案 2 :(得分:0)

您无法直接更改KBDLLHOOKSTRUCT中的虚拟键值。 相反,在使用修改后的虚拟键值发送消息后,在钩子函数中返回1。