注册程序热键

在窗体加载的时候,或是指定事件下注册热键。

主要用到函数

RegisterHotKey( HWND,ID, fsModifiers ,VK),

参数:Handle 窗体句柄

        ID 热键序号(可以用数组的方式注册多个,)

        fsModifiers 该热键的唯一标识, 有可能是:MOD_ALT + MOD_CONTR  ,MOD_ALT

         VK 指的是注册的热键 

释放热键函数

UnRegisterHotKey (HWND,ID)

参数:Handle窗体句柄

        ID热键序号

 

procedure TForm2.FormCreate(Sender: TObject);
begin

  RegisterHotKey(Handle, 0, 0, VK_UP);   --注册了向上键

 RegisterHotKey(Handle,0s,MOD_ALT,VK_F8);  --注册了ALT+ F8

RegisterHotKey(Handle,0s,MOD_ALT + MOD_CONTROL,VK_F8);  --注册了ALT+ CTRL+F8

  通过该方法可能 得到组合键
end;

 

---通过声明此消息,可以得到热键

    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;

BEGIN

  if Msg.HotKey = 0 then
    ShowMessage('VK_UP');

END

 

--程序退出后,最好释放热键

procedure TForm2.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(Handle, 0);
   GlobalDeleteAtom(0);

end;

 

部分热键

VK_F2             //F2
VK_UP              //Up
VK_DOWN)             //Down
VK_LEFT              //Left
VK_RIGHT            //Right
VK_PRIOR             //PageUp
VK_NEXT              //PageDown
VK_OEM_PLUS          //+
VK_OEM_MINUS         //-
$31                 //1
$41)                 //a
VK_RETURN); //Enter

 

 

posted @ 2010-06-23 23:00  坚持Delphi  阅读(1444)  评论(0编辑  收藏  举报