作者LuckyPo (Po)
站内Programming
标题[问题] 有人写过输入法切换的程式吗?
时间Tue Jun 7 13:47:35 2011
不晓得有没有人写过输入法的切换程式
目前我是用Delphi撰写,但一直无法成功地让另一视窗切换输入法
My Code
procedure TIME_Exchange.Button1Click(Sender: TObject);
var
hWndFocus: HWND;
lForeWnd: HWND;
lWinText: array[0..255] of Char;
lProcessId, lCurThreadID, lForeThreadID: Cardinal;
lHKL: HKL;
begin
lHKL := HKL(Screen.Imes.Objects[Screen.Imes.IndexOf(ComboBox1.Text)]);
lForeWnd := GetForegroundWindow;
GetWindowText(lForeWnd, lWinText, 256);
Caption := StrPas(lWinText);
lForeThreadID := GetWindowThreadProcessId(lForeWnd, lProcessId);
lCurThreadID := GetCurrentThreadId;
if AttachThreadInput(lCurThreadID, lForeThreadID, True) then
begin
hWndFocus := GetFocus;
if hWndFocus <> 0 then
begin
try
SendMessage(hWndFocus, WM_INPUTLANGCHANGEREQUEST, 1, lHKL);
finally
AttachThreadInput(lCurThreadId, lForeThreadId, False);
end;
end;
end;
end;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.113.55