![]() |
|
#2
|
|||
|
|||
|
There is an API function called "RegisterHotKey()" for defining a system-wide hot key. [ Dont forget it's partner UnRegisterHotkey() ]
Code:
BOOL RegisterHotKey( HWND hWnd, int id, UINT fsModifiers, UINT vk ); /keyboardinputreference/keyboardinputfunctions/registerhotkey.asp It generates a WM_HOTKEY and sends it to the supplied HWND so you need to setup a message listener for WM_HOTKEY. Quick delphi example I found Code:
/In the main forms OnCreate
//handler assign the hotkey:
If not RegisterHotkey
(Handle, 1, MOD_ALT or MOD_SHIFT, VK_F9) Then
ShowMessage('Unable to assign Alt-Shift-F9 as hotkey.') ;
//In the main forms
//OnClose event remove the handler:
UnRegisterHotkey( Handle, 1 ) ;
//Add a handler for the
//WM_HOTKEY message to the form:
private // form declaration
Procedure WMHotkey( Var msg: TWMHotkey ) ;
message WM_HOTKEY;
Procedure TForm1.WMHotkey( Var msg: TWMHotkey ) ;
Begin
If msg.hotkey = 1 Then Begin
If IsIconic( Application.Handle ) Then
Application.Restore;
BringToFront;
End;
End;
|
|
|