当前位置 : 主页 > 编程语言 > delphi >

如何在没有聚焦的Delphi的情况下从键盘输入

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想知道如何在我的delphi应用程序中获取键盘输入,而不是专注. 我正在编程的应用程序将在我在游戏中时截取屏幕截图. 我已经写了屏幕捕获代码,但我错过了最后一篇文章,任何建议将不
我想知道如何在我的delphi应用程序中获取键盘输入,而不是专注.
我正在编程的应用程序将在我在游戏中时截取屏幕截图.

我已经写了屏幕捕获代码,但我错过了最后一篇文章,任何建议将不胜感激.

您可以注册一个热键(使用 RegisterHotKey和 UnregisterHotKey功能),并在按下该键时使用WM_HOTKEY消息进行拦截.

试试这个样本

type
  TForm3 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
     procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
  end;

var
  Form3: TForm3;

implementation


{$R *.dfm}


{ TForm3 }

const
  SaveScreeenHK=666;

procedure TForm3.FormCreate(Sender: TObject);
begin
 RegisterHotKey(Handle, SaveScreeenHK , MOD_CONTROL, VK_F10);
end;

procedure TForm3.FormDestroy(Sender: TObject);
begin
  UnregisterHotKey(Handle, SaveScreeenHK);
end;

procedure TForm3.WMHotKey(var Message: TMessage);
begin
 //call your method here
end;
网友评论