注册程序热键
在窗体加载的时候,或是指定事件下注册热键。
主要用到函数
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