Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Переключить раскладку клавиатуры


Автор: OlafShadow 13.7.2006, 20:10
Здравствуйте, собственно сабж, способ с внедрением ДЛЛ в чужой процесс и вызовом оттуда ActivateKeyboardLayout мне не подходит.
 

Автор: BinaryEvil 13.7.2006, 20:15
так а ты sendinput'ом нажимай нужные клавиши: Ctrl+Shift или Alt+Shift там... 

Автор: OlafShadow 13.7.2006, 23:48
Я уже думал, воспользоваться  WH_JOURNALPLAYBACK, но вот вопрос: как узнать нужную комбинацию клавиш? 

Автор: Демо 15.7.2006, 21:37
Найди необходимое окно и выполни для него

Код

const
  LRUS=$04190419;
  LENG=$04090409;

...

procedure SetKeyState(const Wnd: HWND;const Code: DWORD);
begin
  PostMessage(
    Wnd,
    WM_INPUTLANGCHANGEREQUEST,
    $1,
    Code);
end;

...
var
  WND: HWND;
begin
  WND := FindWIndow('Notepad',nil);
  SetKeyState(Wnd,LRUS);

  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)