MSDN中对输入法的相关文档在About Input Method Editor系列文章里面,可以查看下。具体屏蔽输入法,只允许原始的键盘输入即所得,可以简单地用下面的代码实现:
hImcId = ::ImmGetContext(m_recID);
if (hImcId) {
::ImmAssociateContext(m_recID, NULL);
::ImmReleaseContext(m_recID, hImcId);
::SetFocus(m_recID);
}
其中用于恢复IME上下文的变量hImcId为HIMC类型,m_recID为RichEdit控件,然后在使用完毕之后再恢复IME。代码如下:
if (hImcId) {
::ImmAssociateContext(m_recID, hImcId);
hImcId = NULL;
}