定义全局热键

 1 BOOL RegisterHotKey(      
2 HWND hWnd,    {窗口句柄}
3 int id,       {热键标识}
4 UINT fsModifiers, {热键模式,是否按下MOD_WIN,MOD_SHIFT,MOD_CONTROL,MOD_ALT}
5 UINT vk      {热键虚拟键}
6 );
7
8 {定义一个全局变量}
9
10 MY_ID: Integer;              {全局因子}
11 procedure WMHotKey(var Msg :TWMHotKey); message WM_HOTKEY;  {捕获Windows消息的 WM_HOTKEY的函数}
12
13 procedure TForm1.WMHotKey (var Msg :TWMHotKey); 
14 begin
15 if msg.HotKey = MY_ID then
16 form2.Visible := true;    
17 end;
18
19 procedure TForm1.FormCreate(Sender: TObject);
20 begin
21 if GlobalFindAtom('MY_IDHotKey') = 0 then {首先全局因子是否存在}
22 begin
23 MY_ID:=GlobalAddAtom('MY_IDHotKey'); {生成全局因子}
24 RegisterHotKey(handle,MY_ID,MOD_ALT+MOD_CONTROL,82); {注册全局热键Ctrl+Alt+R,82是R的虚拟键值}
25 end
26 else
27 halt; {退出}
28 end;
29
30 procedure TForm1.FormDestroy(Sender: TObject);
31 begin
32 UnRegisterHotKey(handle,MY_ID);   {注销热键}
33 GlobalDeleteAtom(MY_ID);        {删除全局因子}
34 end;

转载于:https://www.cnblogs.com/tk-del/archive/2011/09/28/2194549.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值