注册热键!

来源:互联网 发布:windows下运行的ghost 编辑:程序博客网 时间:2024/05/16 19:53
1.定义热键ID变量

private
    { Private declarations }
    hotkeyID:integer;//全局变量,定义热键ID变量
    procedure shorcut(var msg:TMessage);//定义 Windows 的消息WM_HOTKEY 的 HOOK 链
    message WM_HOTKEY;

2.注册热键:

hotkeyID:=GlobalAddATom('hotkey');
RegisterHotkey(Handle,hotkeyID,mod_Control,88);

3. 消息响应:

procedure TForm1.shorcut(var msg: TMessage);
begin
msg.Result:=1; //表示消息已经用过!
Application.BringToFront;
Application.MessageBox('热键已起作用!','提示',MB_OK+MB_ICONInformation);
end;

4. 释放资源:

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,hotkeyID);
DeleteAtom(HotKeyID);
end;
5.RegisterHotKey 函数原形如下

 

         BOOL RegisterHotKey(
            HWND hWnd,             // 连接热键的窗口句柄

             int id,                 // 全局原子句柄

             UINT fsModifiers,      // 热键修饰标志

             UINT vk                 // 虚拟键盘码

             );

找虚拟键值,可以在delphi help里搜索virtual Key