функция:
Код:
function NeedKeyboardLayout: Cardinal;
var
hForegroundWindow: THandle;
idProcess: DWORD;
begin
hForegroundWindow:=GetForegroundWindow;
idProcess:=GetWindowThreadProcessId(hForegroundWindow);
Result:=LOWORD(GetKeyboardLayout(idProcess));
end;
использование в таймере, к примеру:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
kbl: Cardinal;
begin
kbl:=NeedKeyboardLayout;
Label1.Caption:=IntToStr(kbl);
case kbl of
$409: Label2.Caption:='en';
$419: Label2.Caption:='ru';
else Label2.Caption:='oops';
end;
end;