从WH_KEYBOARD_LL挂钩中向窗口发送消息

时间:2011-03-05 07:01:15

标签: c# c++ windows hook

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

问:我可以将我的钩子proc中的WH_KEYBOARD_LL消息cot发送到另一个窗口,然后它最初是注定的?这样做的好处是(如original question的答案3中所述)如果我将此消息发送到包含编辑框的窗口,这可能会将其转换为写入unicode字符,我可以从那里获取它。

1 个答案:

答案 0 :(得分:0)

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

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

如果您没有写IME,答案是“使用IME”。

也许如果你告诉我们你的程序做了什么(以及为什么你不能只使用用户的IME),我们可以提出一个更好的方法来做到这一点!