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

Вниз

Раскладка клавиатуры   Найти похожие ветки 

 
Юрии   (2008-12-03 20:48) [0]

Как отловить момент переключение раскладки клавиатуры? Т.е. мне нужно запустить определенный код только в случае если пользователь переключил раскладку.

Спасибо.


 
Loginov Dmitry ©   (2008-12-03 23:13) [1]

function GetLanguage(lParam: Integer = 0): string;
var
 S: string;
begin
 SetLength(S, 8);
 if lParam <> 0 then
   ActivateKeyboardLayout(lParam , HKL_NEXT);
 GetKeyboardLayoutName(PChar(S));
 if S = "00000409" then
   Result := "EN"
 else if S = "00000419" then
   Result := "RU"
 else
   Result := "??";
end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
 if Msg.message = WM_INPUTLANGCHANGEREQUEST then
   Caption := GetLanguage(Msg.lParam);
end;


 
Труп Васи Доброго ©   (2008-12-04 15:57) [2]

> if Msg.message = WM_INPUTLANGCHANGEREQUEST then

Странно, но эта константа равна 80, а при переключении с рус. на eng. Msg.message=49304


 
Leonid Troyanovsky ©   (2008-12-04 18:59) [3]


> Труп Васи Доброго ©   (04.12.08 15:57) [2]

http://www.rsdn.ru/forum/message/3170996.1.aspx

--
Regards, LVT.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
15-1226943419
Маэстро
2008-11-17 20:36
2009.01.18
Почему не дают больничный когда депрессия?


15-1227214906
Начинающий1992
2008-11-21 00:01
2009.01.18
Решить методом последовательных сравнений


15-1227340742
palva
2008-11-22 10:59
2009.01.18
Чернобыльская зона отчуждения


8-1185194618
Longli
2007-07-23 16:43
2009.01.18
Ультразвук


2-1228633202
@!!ex
2008-12-07 10:00
2009.01.18
Узнать ProcessHandle по HWND окна.