调用位置不对,请看MSDN的Re:The application must call this function before the first top-level window in the thread receives the WM_CREATE message. This means the application must call this function in one of the following places: 1. Any time before calling CreateWindow to create the first top-level window 2. In the first top-level window's WM_NCCREATE handler
1. Any time before calling CreateWindow to create the first top-level window
2. In the first top-level window's WM_NCCREATE handler
一个基于对话框的程序,我为此程序添加了WM_NCCREATE事件,里面加了代码ImmDisableIME(Getcurrentthread())或者ImmDisableIME(0),但IME还是显示在对话框上面。谁还有其他方法吗?
也有可能是输入法的问题,没有切换输入法的时候也能看见输入法的提示框。(我机器上出现过几次,但一直没找到是什么原因。要手工切两下Ctrl+Space才能回到正确状态)