RegisterHotKey
The RegisterHotKey
function defines a hot key for the current thread.
BOOL RegisterHotKey(
HWND hWnd, |
// window to
receive hot-key notification |
int id, |
// identifier of
hot key |
UINT fsModifiers, |
// key-modifier flags |
UINT vk |
// virtual-key code |
); |
|
Parameters
hWnd
Identifies
the window that will receive WM_HOTKEY messages generated by the hot key. If
this parameter is NULL, WM_HOTKEY messages are posted to the message queue of
the calling thread and must be processed in the message loop.
id
Specifies the
identifier of the hot key. No other hot key in the calling thread should have
the same identifier. An application must specify a value in the range 0x0000
through 0xBFFF. A shared dynamic-link library (DLL) must specify a value in the
range 0xC000 through 0xFFFF (the range returned by the GlobalAddAtom
fsModifiers
Specifies keys
that must be pressed in combination with the key specified by the nVirtKey
parameter in order to generate the WM_HOTKEY message. The fsModifiers
parameter can be a combination of the following values:
Value |
Meaning |
MOD_ALT |
Either ALT key must be
held down. |
MOD_CONTROL |
Either CTRL key must
be held down. |
MOD_SHIFT |
Either SHIFT key must
be held down. |
vk
Specifies the
virtual-key code of the hot key.
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero.
Remarks
When a key is
pressed, the system looks for a match against all thread hot keys. Upon finding
a match, the system posts the WM_HOTKEY message to the message queue of the
thread that registered the hot key. This message is posted to the beginning of
the queue so it is removed by the next iteration of the message loop.
This function
cannot associate a hot key with a window created by another thread.
RegisterHotKey fails if the keystrokes specified for the hot key
have already been registered by another hot key.
If the window
identified by the hWnd parameter already registered a hot key with the
same identifier as that specified by the id parameter, the new values
for the fsModifiers and vk parameters replace the previously
specified values for these parameters.
See Also