我有一个用c编写的win 32应用程序,用于设置低级键盘钩子 . 现在我想sendInput到任何应用程序,如word / notepad . 我该怎么做呢?
我已经做了足够的使用findwindow / sendmessage . 对于所有这些,我需要知道编辑控件 . 找到编辑控件非常困难 .
因为SendInput适用于任何Windows应用程序,我想使用它 . 问题是我用按下的键调用了我的回调函数 .
例如我按了A,我想将U 0BAF unicode字符发送到活动的applciation窗口 . 在这种情况下,假设它是记事本 .
问题是我在记事本中得到两个字符U 0BAF和A.
正在发送A,因为我正在调用CallNextHookEx(NULL,nCode,wParam,lParam);
如果我在sendInput后返回1,则没有任何内容发送到记事本 .
有什么建议吗?
1 回答
如果我正确理解您的问题,您应该忽略"injected"关键事件
在你的钩子程序中像这样:
Update: 另外你必须吃字符并通知其他一些例程
对于角色按下Windows消息 .
例:
在其他一些模块中,您可以处理WM_MY_KEYDOWN
并调用将生成新密钥事件的相应例程 .