Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.13;
Скачать: CL | DM;

Вниз

Language   Найти похожие ветки 

 
bos ©   (2002-02-13 12:20) [0]

Подскажите, как повесить Hook на переключение раскладки клавиатуры?


 
bos ©   (2002-02-13 15:31) [1]

Работает но не так как хотелось бы:

function GetLanguage: string;
var
p: PChar;
begin
GetMem(p, KL_NAMELENGTH);
try
GetKeyboardLayoutName(p);
Result := p;
finally
FreeMem(p, KL_NAMELENGTH);
end;
end;

function GetMsgHook(Code: Integer; WParam: wParam; Msg: PMsg): Longint; stdcall;
begin
if Msg.message = WM_INPUTLANGCHANGEREQUEST then begin
MyLanguage;
end; { if }
end;

procedure MyLanguage;
var
slan : string;
begin
slan:=GetLanguage;
if slan="00000409" then begin
// английский флаг
fmMyHints.Image3.Picture:=fmMyHints.Image1.Picture
end;
if slan="00000419" then begin
// российский флаг
fmMyHints.Image3.Picture:=fmMyHints.Image2.Picture
end;
end;

procedure TFmParam.FormCreate(Sender: TObject);
begin
SetWindowsHookEx(WH_GETMESSAGE,@GetMsgHook, 0,GetCurrentThreadId);
end;

процедура MyLanguage работает без проблем (проверял по нажатию кнопки), а вот когда вызывается при переключении раскладки выполняет с точностью до наоборот.



 
stx   (2002-02-14 10:17) [2]

а чего ты не хочешь воспользоваться компонентом наподобе KeySpy там есть событие onLayoutChange вешаешь на
него свой обработчик и все в порядке



Страницы: 1 вся ветка

Текущий архив: 2002.05.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
7-39872
Serega__2
2001-12-18 09:21
2002.05.13
Господа, подскажите плз как програмно поменять ориентацию у мышки:)


14-39844
savva
2002-04-04 10:22
2002.05.13
После большого числа веток про единство и борьбу...


6-39810
Andrews
2002-03-01 12:42
2002.05.13
Копирование файлов в сетевую папку с полным доступом, но защищенную паролем


3-39647
rvs
2002-04-17 11:33
2002.05.13
Query в Query


1-39731
kat
2002-04-27 10:11
2002.05.13
Двоично-десятичные числа