在我的应用程序中有一个按钮可以修改当前应用程序的输入法,但是我现在发了个消息:SendMessage(Application.Handle, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0);可是有的机器上不弹出输入法的小长方形的属性框,请问各位高手,还有什么方法可以设置这个东东的啊?

解决方案 »

  1.   

    procedure TForm1.btnAPIOpenClick(Sender: TObject);
    //打开输入法
    var
      iHKL:HKL;
    begin
      iHKL:=LoadKeyboardLayout('0x0804', KLF_ACTIVATE);
      ActivateKeyboardLayout(HKL_PREV, KLF_REORDER);
    end;
      

  2.   

    楼上的高手,我现在不是一个一个显示输入法,而是设置好输入法后,可以显示输入法的小框框也可以让小框框不显示,现在我使用了notify消息,基本可以实现,只有在98系统下总是显示,无法让输入法的显示取消了,这是什么原因呢?
      

  3.   

    真晕死了, 把控件的ImeMode设为imOpen再把imeName设为一种你想要的输入法
    就应该就是你想要的.如果搞定了就早点结贴,请尊重劳动人民成果……