WM_SETHOTKEY  BDNOMZ 

An application sends a WM_SETHOTKEY message to a window to associate a hot key with the window. When the user presses the hot key, the system activates the window.

WM_SETHOTKEY

wParam = (WPARAM) MAKEWORD(vkey, modifiers)   // virtual-key code and modifiers of hot key

lParam = 0;                                   // not used; must be zero

 

Parameters

vkey

Value of wParam. Specifies the virtual-key code and modifiers of the hot key to associate with the window. The virtual-key code is in the low byte of the parameter and the modifier flags are in the high byte. Setting this parameter to NULL removes the hot key associated with a window. The modifier byte can be a combination of the following flags:

Value

Meaning

HOTKEYF_ALT

ALT key

HOTKEYF_CONTROL

CTRL key

HOTKEYF_EXT

Extended key

HOTKEYF_SHIFT

SHIFT key

 

Return Values

The return value is one of the following:

Value

Meaning

-1

The function is unsuccessful   the hot key is invalid.

..0

The function is unsuccessful   the window is invalid.

..1

The function is successful, and no other window has the same hot key.

..2

The function is successful, but another window already has the same hot key.

 

Remarks

A hot key cannot be associated with a child window.

VK_ESCAPE, VK_SPACE, and VK_TAB are invalid hot keys.

When the user presses the hot key, the system generates a WM_SYSCOMMAND message with wParam equal to SC_HOTKEY.

A window can only have one hot key. If the window already has a hot key associated with it, the new hot key replaces the old one. If more than one window has the same hot key, the window that is activated by the hot key is random.

These hot keys are unrelated to the hot keys set by RegisterHotKey.

See Also

RegisterHotKey, WM_GETHOTKEY, WM_SYSCOMMAND