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