TTouchKeyboard:发送键击到其他程序?

use*_*ser 5 delphi virtual-keyboard

我如何在Delphi中使用TTouchKeyboard,因此它可以向其他程序发送击键.例如,我想使用TTouchKeyboard组件在浏览器中键入密码.我不知道在点击我的键盘时如何让浏览器保持专注.

Whi*_*ler 10

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;
Run Code Online (Sandbox Code Playgroud)

您的表单无法获得焦点...因此,密钥将被发送到之前的焦点控件.(我刚测试过它的确有效:密钥已发送到此网页)