Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.045 c
1-39743
sergey32
2002-04-27 17:29
2002.05.13
Формат типа даты для Edit1


1-39742
Ross
2002-04-27 19:22
2002.05.13
Где моя ошибка?


4-39902
Tosov
2002-03-11 13:21
2002.05.13
Работа с Ini файлами


1-39741
Smithson
2002-04-27 11:55
2002.05.13
Вопрос по потокам


1-39744
Андрей Сенченко
2002-04-27 13:49
2002.05.13
Поиск не работает ... а надо.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский