我想知道如何在我的delphi应用程序中获得键盘输入,但它没有集中。 我正在编程的应用程序将在游戏中进行截图。如何从键盘获得输入,但没有集中Delphi
我已经写了截屏代码,但我错过了最后一块任何意见,将不胜感激。
我想知道如何在我的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;
我后来一直忙于创造了库在Delphi中获取按键。 您可以在这里找到它:https://github.com/Kobusvdwalt/DelphiKeylogger
它仍然需要文档,但基本上你只需调用olgetletter函数。
感谢您的回复,现在就试试吧,让我们知道它是否有效。 –
这似乎是工作谢谢。 –