码迷,mamicode.com
首页 > 其他好文 > 详细

注册系统热键

时间:2020-01-09 13:02:44      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:span   key   RoCE   win   ESS   send   消息   dialog   hot   

unit unitFrmMain;

interface

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

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
 private
   { Private declarations }
   hotkeyid: integer;
   procedure WMhotkeyhandle(var msg: Tmessage);
     message WM_HOTKEY; //响应热键消息
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
 hotkeyid := GlobalAddAtom(pchar
   (UserDefineHotKey)) - $C000;
   //减去$C000是为了保证取值范围的限制
 registerhotkey(handle, hotkeyid,
    MOD_ALT or MOD_CONTROL, $42);//热键为ctrl+Alt+B
end;

procedure TForm1.WMhotkeyhandle(var msg: Tmessage);

begin
 if (msg.LParamHi = $42) and
   (msg.lparamLo = MOD_CONTROL or mod_Alt)
 then
 begin
   msg.Result := 1; //该消息已经处理
   application.BringToFront;
   ShowMessage(你已经按下热键)
 end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 unregisterhotkey(handle, hotkeyid);
 DeleteAtom(HotKeyID);
end;

end.

注册系统热键

标签:span   key   RoCE   win   ESS   send   消息   dialog   hot   

原文地址:https://www.cnblogs.com/tobetterlife/p/12170646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!