您的位置:首页 > 编程语言 > Delphi

Delphi注册热键

2013-07-17 20:28 225 查看
type
TForm1 = class(TForm)
btn1: TButton;
btn2: TButton;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private

public
//关键位置:建立一个子程序 处理wm_hotkey的消息
procedure gethotkeymsg(var msg:TMessage);
message wm_hotkey;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var j_i:LongBool;
begin
j_i:=RegisterHotKey(Form1.handle,7999,0,113);//注册热键(f2)
//参数3的0为注册单热键 为1则是组合键ALT+参数4,为2则是组合键Crtl+参数4
if j_i <>True  then
begin
ShowMessage('F2热键已注册');
end;
end;

procedure TForm1.gethotkeymsg(var msg:TMessage);
begin
if msg.WParam=7999 then
begin
ShowMessage('热键F2起作用了');
end;
end;

procedure TForm1.btn2Click(Sender: TObject);
begin
UnregisterHotKey(Form1.Handle,7999);
end;


关键位置1.TForm类下公有接口里建立一个子程序 处理wm_hotkey消息

procedure gethotkeymsg(var msg:TMessage);
message wm_hotkey;

这2句都要加

2.调用RegisterHotKey注册热键 UnregisterHotKey撤消热键 因为已在窗口类里申明处理wm_hotkey消息,所以用在窗口类的申明的消息处理子程序处理消息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: