在我的游戏代码中,我通过处理WM_KEYDOWN
消息来处理键输入。
wParam给了我需要的密码。
问题在于IME,尤其是KoreanIME。
我得到WM_IME_COMPOSITION
然后WM_KEYUP
,但绝不是WM_KEYDOWN
。
所以,底线是..我需要在收到WM_IME_COMPOSITION
时获取密码。
有办法吗?
任何帮助将不胜感激。 谢谢!
答案 0 :(得分:0)
根据http://msdn.microsoft.com/en-us/library/dd374133(VS.85).aspx,复合键位于wParam中,编码为DBCS(http://www.microsoft.com/typography/unicode/cs.htm)。我想你必须从单词中提取适当的字节并根据它来决定。
答案 1 :(得分:0)
我知道这有点晚了,但为了别人的利益,可以使用
BOOL ImmDisableIME(
__in DWORD idThread
);
传递UI线程的ID,即处理按键的那个。
http://msdn.microsoft.com/en-us/library/dd318535(v=VS.85).aspx