如何在Delphi中使用TTouchKeyboard,以便它可以将击键发送到其他程序。例如,我想在浏览器中使用TTouchKeyboard组件键入密码。我不知道如何在单击键盘时使浏览器保持焦点。

最佳答案

TTouchKeyboard将 key 发送到当前集中的控件:因此,如果您的TEdit具有焦点,则TEdit将接收该 key ...

您可以创建一个包含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;

您的窗体无法获得焦点...因此,键被发送到先前的焦点控件。 (我刚刚对其进行了测试,并且可以正常工作: key 已发送到此网页)

关于delphi - TTouchKeyboard : send keystroke to other program?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7509704/

10-10 13:36