在Android/IOS操作系统中,一旦点击可输入框,输入法就会被自动调用。
现在我对Windows操作系统也有类似的需求。我们希望在单击任何可输入框时获取事件。我已经调查了一些拥有此功能的软件,它们在大多数情况下都可以很好地工作,除了它可能会错过其余时间,但我们可以容忍。
我尝试了一些方法。比如用spy++观察点击输入框时生成的事件,但是我找不到任何线索。
然后我尝试钩住一些关于 IME 的 API:ImmGetCompositionFontW ImmAssociateContextEx
ImmGetCompositionFontW
大部分时间都运行良好,但它有严重的误报。
我认为关键仍然是钩子,但我无法决定钩住哪个 API
谁能帮我?PS:原谅我糟糕的英语。
在 Windows 中,"可输入框"通常是类似于编辑控件或可能是富文本控件的东西。
在任何情况下,它通常是某种窗口,在Windows中,当窗口收到"输入焦点"时,其所属代码将收到WM_SETFOCUS
消息。因此,如果需要在特定控件接收输入焦点时执行某些操作,通常需要处理该控件的WM_SETFOCUS
。