delphi实现全局快捷键的功能

    没什么复杂的,只是最近才用,跟大家分享一下

    全局快捷键就是焦点不在这个系统时也管用的快捷键

    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 );

你可能感兴趣的:(Delphi)