我了解,如果用户设置了类似Chinese的键盘布局,则很难将WH_KEYBOARD_LL消息转换为其相应的unicode字符,但是我仍然想完成我的多语言应用程序。正如我在original question中提到的,为什么我使用WH_KEYBOARD_LL钩子(Hook)并不重要,我尝试了其他方法,这对我的应用程序最有效。

问:谁可以将我的钩子(Hook)proc内的WH_KEYBOARD_LL消息婴儿床发送到原本预定的另一个窗口?这样做的原因是(如original question的答案3所述),如果我将此消息发送到包含编辑框的窗口,则可能会将其转换为写入unichar字符,然后可以从那里获取它。

最佳答案

How to convert a message from a WH_KEYBOARD_LL to corespondig unicode char”问题的答案基本上是“即使像Mike Kaplan这样的天才也不能做到这一点,甚至都不应该尝试”。

如果您正在编写IME,答案是“您必须自己完成所有这些工作-这是IME的工作”。

如果您不是在编写IME,则答案是“使用IME”。

  • http://msdn.microsoft.com/en-us/library/aa912526.aspx

  • 也许如果您告诉我们程序的功能(以及为什么不能仅使用用户的IME),我们可以为您提供更好的方法!

    关于c# - 从WH_KEYBOARD_LL Hook 中向窗口发送消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5202281/

    10-11 22:25
    查看更多