TTouchKeyboard: отправить нажатие клавиши в другую программу? - PullRequest
5 голосов
/ 22 сентября 2011

Как использовать TTouchKeyboard в Delphi, чтобы он мог отправлять нажатия клавиш другой программе. Например, я хочу ввести пароль в браузере, используя компонент TTouchKeyboard. Я понятия не имею, как заставить браузер оставаться в фокусе, пока я нажимаю на клавиатуру.

1 Ответ

10 голосов
/ 22 сентября 2011

TTouchKeyboard отправляет ключи текущему элементу управления с фокусом: поэтому, если у вас есть TEdit с фокусом , TEdit получит ключ ...

Вы можетесоздайте форму, содержащую TTouchKeyboard и добавьте следующую процедуру:

  protected
    procedure CreateParams(var Params: TCreateParams); override;

...

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  with Params do
  begin
    ExStyle   := ExStyle or WS_EX_NOACTIVATE;
    WndParent := GetDesktopwindow;
  end;
end;

Ваша форма не может иметь фокус ... поэтому ключ отправляется предыдущему сфокусированному элементу управления.(Я только что проверил, и он работает: ключ был отправлен на эту страницу)

...