没什么复杂的,只是最近才用,跟大家分享一下
全局快捷键就是焦点不在这个系统时也管用的快捷键
全局快捷键就是焦点不在这个系统时也管用的快捷键
1、首先需要注册快捷键
FShowkeyid := GlobalAddAtom('mykey_show');
//F12
RegisterHotKey(handle, FShowkeyid, 0 VK_F12);
//ctrl+F12
RegisterHotKey(handle, FShowkeyid1, mod_control, VK_F12);
//alt+F12
RegisterHotKey(handle, FShowkeyid2, mod_alt, VK_F12);
//ctrl+alt+f12
RegisterHotKey(handle, FShowkeyid3, mod_control + mod_alt, VK_F12);
2、然后是收到快捷键时进行的处理
函数声明如下
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
实现如下
procedure TFMain.hotykey(var msg: TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and ( msg.LParamHi = VK_F12) then
//处理逻辑
end;
3、最后释放快捷键
UnregisterHotKey( Handle, FShowkeyid );