碰到这样的问题,我首先想到有什么窗体属性,结果发现和输入有关的就是ImeMode和ImeName 看了看帮助没发现其他相关属性 又找了找API,也没发现什么相关函数 得,只好拿出杀手锏: 加一个消息日志,分析切换输入法的时候会有什么消息出现 procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if Memo1.Lines.IndexOf(IntToStr(Msg.message)) < 0 then Memo1.Lines.Add(IntToStr(Msg.message)); end;
将这些消息截获,问题解决!参考代码如下: procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin case Msg.message of WM_INPUTLANGCHANGEREQUEST, 49836, 49340: Handled := True; end; end;