Главная страница
    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.004 c
4-39902
Tosov
2002-03-11 13:21
2002.05.13
Работа с Ini файлами


1-39721
sir_musatov
2002-04-26 09:14
2002.05.13
real time


4-39903
Devid
2002-03-10 18:40
2002.05.13
Как сделать чтобы image не мигала когда я рисую???


1-39693
Riko
2002-04-29 14:58
2002.05.13
Как применить?


3-39673
sergling
2002-04-16 23:03
2002.05.13
Доступ к MSSQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский