如何捕获其他应用程序中的键盘事件?50分(50分)

  • 主题发起人 主题发起人 端木飘零
  • 开始时间 开始时间

端木飘零

Unregistered / Unconfirmed
GUEST, unregistred user!
我只做了一个程序,启动后自动隐藏到后台,用户可以打开其他应用程序进行操作,当用户按下F11键时,我的窗口自动弹出,请问这个如何实现?
 
你可以利用系統地api函數來實現的。
 
注册系统热键
RegeditHotKey 好像这么写的 具体自己查
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure myshortcut(var message: Tmessage); message WM_HOTKEY;
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
id:integer;
implementation

{$R *.dfm}
procedure TForm1.myshortcut(var message:TMessage);
begin
showMessage('你好,你按下了Ctrl+F11键!');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom('hotkey2');
RegisterHotKey(handle,id,mod_control,vk_F11);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id); //别忘了在退出时取消定义
end;

end.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部