在我的游戏代码中,我通过处理WM_KEYDOWN消息来处理按键输入。wParam为我提供了所需的密钥代码。
问题出在输入法,尤其是KoreanIME。我得到了WM_IME_COMPOSITION,然后是WM_KEYUP,但从来没有WM_KEYDOWN。
所以,底线是..当我收到WM_IME_COMPOSITION的时候,我需要得到密钥码。有没有办法做到这一点?
任何帮助都将不胜感激。谢谢!
发布于 2009-10-14 14:28:04
根据http://msdn.microsoft.com/en-us/library/dd374133(VS.85).aspx,复合关键字在wParam中,编码为DBCS (http://www.microsoft.com/typography/unicode/cs.htm)。我想你必须从单词中提取适当的字节,并根据它来决定。
发布于 2010-07-15 09:25:07
我知道这有点晚了,但为了其他人的利益,我们可以使用
BOOL ImmDisableIME(
__in DWORD idThread
);传递UI线程的ID,即处理按键的线程。
http://msdn.microsoft.com/en-us/library/dd318535(v=VS.85).aspx
https://stackoverflow.com/questions/1565604
复制相似问题