低级键盘挂钩c++; 我尝试在C++中创建一个应用程序,它设置了低级键盘钩子 每次用户按下一个键,它都会写一个我制作的字符串的字符

低级键盘挂钩c++; 我尝试在C++中创建一个应用程序,它设置了低级键盘钩子 每次用户按下一个键,它都会写一个我制作的字符串的字符,c++,winapi,keyboard-hook,C++,Winapi,Keyboard Hook,有人能解释一下我如何在不使用 keybd_事件函数,但在操作系统解释之前更改密钥本身 我尝试了一些与此消息和改变wparam,但它没有工作。 如果有人能给我看一个代码示例,它会 更好 有人能解释一下我如何在不使用keybd_事件函数的情况下更改用户输入,但在操作系统解释之前更改密钥本身吗 你不能。您必须拒绝钩子中的密钥,然后使用keybd\u event()或SendInput()发布您自己的密钥。并确保检查KBDLLHOOKSTRUCT::flags字段是否启用了LLKHF_INJECTED或

有人能解释一下我如何在不使用 keybd_事件函数,但在操作系统解释之前更改密钥本身

我尝试了一些与此消息和改变wparam,但它没有工作。 如果有人能给我看一个代码示例,它会 更好

有人能解释一下我如何在不使用keybd_事件函数的情况下更改用户输入,但在操作系统解释之前更改密钥本身吗

你不能。您必须拒绝钩子中的密钥,然后使用
keybd\u event()
SendInput()
发布您自己的密钥。并确保检查
KBDLLHOOKSTRUCT::flags
字段是否启用了
LLKHF_INJECTED
LLKHF_LOWER_IL_INJECTED
标记,以便您不会拒绝自己的模拟键

我尝试了一些与此消息和改变wparam,但它没有工作


MSG
结构不与
WH\u-KEYBOARD\u-LL
hook一起使用。

您已经看到了吗?是的,我学习了如何使用它安装hook,我在MSDN中阅读了关于setWindowshookx、WH\u-KEYBOARD\u-LL、keybd\u事件和MSG的所有内容,但没有得到任何答案