获取系统中已安装的中文输入法

unitUnit1; 

  interface 

  usesWindows,Messages,SysUtils,Classes, Graphics,Controls,Forms,Dialogs,StdCtrls,Buttons,imm; 

  typeTForm1=class(TForm)ComboBox1:TComboBox;BitBtn1:TBitBtn;BitBtn2:TBitBtn; 

BitBtn3:TBitBtn;procedureFormShow(Sender:TObject); 

procedureOpenIme(imename:string);procedurecloseIme;procedureComboBox1Change(Sender:TObject);procedureBitBtn1Click(Sender:TObject);procedureBitBtn2Click(Sender:TObject);procedureBitBtn3Click(Sender:TObject);

  private{Privatedeclarations}public{Publicdeclarations}end; 

  varForm1:TForm1; 

  implementation 

  {$R*.DFM}

 

  procedureTForm1.FormShow(Sender:TObject); 

varj:integer;beginforj: 

=0toscreen.imes.count- 

1dobeginComBoBox1.Items.Add(screen.Imes.strings[j]); // 

获取系统中已安装的中文输入法end;end; 

procedureTform1.OpenIme(imename:string); 

var

I:integer;

myhkl:hkl;

begin if ImeName<>''then

begin

if Screen.Imes.Count<>0 then

begin

I: =screen.Imes.indexof(imename); 

if I>=0 then

myhkl:=hkl(screen.Imes.objects[i]); 

activatekeyboardlayout(myhkl, KLF_ACTIVATE);// 

设置相应的输入法end;end;end; 

procedureTForm1.closeime;

var

myhkl:hkl;

begin

myhkl:=GetKeyBoardLayOut(0);

if ImmIsIME(myhkl) then 

// 判断是否在中文状态,若是则关闭它

immsimulateHotkey(handle,IME_CHotKey_IME_NonIME_Toggle);

end; 

procedure TForm1.ComboBox1Change(Sender:TObject); 

begin

OpenIme(ComboBox1.Text);

end; 

procedure TForm1.BitBtn1Click(Sender:TObject); 

begin

immsimulateHotkey(handle,IME_CHotKey_shape_Toggle);

// 切换半角和全角模式end; 

procedure TForm1.BitBtn2Click(Sender:TObject); 

begin

immsimulateHotkey(handle,IME_CHotKey_symbol_Toggle); 

//切换中文标点模式和英文标点模式

end; 

   

procedureTForm1.BitBtn3Click(Sender:TObject); 

begin

closeime;

end; 

  end. 

 

转载于:https://www.cnblogs.com/blogpro/p/11446128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值