切换输入法

来源:互联网 发布:汽车配件进销存软件 编辑:程序博客网 时间:2024/04/29 00:00

Uses ...,Shellapi
.
.
.
function MakeKeyboardLayout(PrimaryLanguage, SubLanguage: Integer): String;
begin
  Result := IntToHex(PrimaryLanguage or (SubLanguage shl 10),
              KL_NAMELENGTH - 1);
end;

function FarsiKeyboardLayout: String;
begin
  Result := MakeKeyboardLayout(LANG_FARSI,SUBLANG_DEFAULT);                    
end;

function EnglishKeyboardLayout: String;
begin
  Result := MakeKeyboardLayout(LANG_ENGLISH, SUBLANG_DEFAULT);
end;

procedure TForm1.FarsiKeyboard(Sender: TObject);
begin
  if LoadKeyboardLayout(PChar(FarsiKeyboardLayout),
           KLF_ACTIVATE or KLF_REORDER) = 0 then
    MessageDlg(ErrMsgFarsiKeyboard, mtError, [mbOK], 0);
end;

procedure TForm1.EnglishKeyboard(Sender: TObject);
begin
  LoadKeyboardLayout(PChar(EnglishKeyboardLayout),
           KLF_ACTIVATE or KLF_REORDER);
end;

procedure TForm1.NextKeyboardActionExecute(Sender: TObject);
begin
  ActivateKeyboardLayout(HKL_NEXT, 0);//Switch Between Language
end;

原创粉丝点击