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


Автор: tigger 24.4.2008, 12:50
Делаю глобальную ловушку на клаву с dll все работает.
Но встал вопрос как в функции на ловушку 
Код

function Key_Hook(Code: integer; wParam: word;  lParam: Longint): Longint; stdcall;


вытащить handle окна где произошло нажатие кнопки например в блокноте?

Автор: Rrader 24.4.2008, 16:28
Если интересует просто окно, которое принимает ввод, то GetForegroundWindow
Если конкретное дочернее окно, то
Код

Var
  Wnd: THandle;
  TID: Cardinal;
...
TID := GetWindowThreadProcessID(GetForegroundWindow);
AttachThreadInput(TID, GetCurrentThreadID, True);
{ Окно, в которое были посланы нажатия }
Wnd := GetFocus;
...
AttachThreadInput(TID, GetCurrentThreadID, False);

Автор: tigger 25.4.2008, 15:23
Спасибо, попробую.

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