请问如何截获打开输入法的消息?
再给系统传递一个NULL的消息,起到限制打开输入法。
小弟我想做个限制打开输入法的,小功能哦,
因本人对消息这个不太通,所以请大侠们快来帮帮小弟。
好早点给老大一个交代。不然又要给扣工资了。

解决方案 »

  1.   


    WM_USER + 31745winXp 下是這樣
      

  2.   

    这个问题有点难度,不是简单的消息就可以解决的,可以用两种方面解决:
    1。循环关闭输入法:
    uses
      Imm;
    var
      imehandle:THandle;
    begin
    imehandle:=ImmGetDefaultIMEWnd(Handle);
    PostMessage(imehandle,WM_DESTROY,0,0);2.用HOOK
      

  3.   

    KAO,终于成功了!!
      procedure WndProc(var Msg: TMessage);override;procedure TForm1.WndProc(var Msg: TMessage);
    begin
     if (Msg.Msg=WM_InputLangChangeRequest) then
     begin
    //如果不希望切换,就什么都做处理,否则就 inherited
    //  inherited;
     end
     else
         inherited;end;