This message results when a WM_SYSKEYUP and WM_SYSKEYDOWN message are translated. It specifies the virtual-key code of the System-menu key.
Parameter | Description |
wParam | Contains the ASCII-character key code of a System-menu key. | ||
lParam | Contains the repeat count, scan code, key-transition code, previous key state, and context code, as shown in the follow-ing list: | ||
Bit | Value | ||
0–15 (low-order word) | Repeat count (the number of times the key stroke is repeated as a result of the user holding down the key). | ||
16–23 (low byte of high-order word) | Scan code (OEM-dependent value). | ||
24 | Extended key, such as a function key or a key on the numeric key pad (1 if it is an extended key, 0 otherwise). | ||
25–26 | Not used. | ||
27–28 | Used internally by Windows. | ||
29 | Context code (1 if the ALT key is held down while the key is pressed, 0 otherwise). | ||
30 | Previous key state (1 if the key is down before the message is sent, 0 if the key is up). | ||
31 | Transition state (1 if the key is being released, 0 if the key is being pressed). |
None.
When the context code is zero, the message can be passed to the TranslateAccelerator function, which will handle it as though it were a normal key message instead of a system-key message. This allows accelerator keys to be used with the active window even if the active window does not have the input focus.
For IBM Enhanced 101- and 102-key keyboards, enhanced keys are the right ALT and the right CONTROL keys on the main section of the keyboard; the INSERT, DELETE, HOME, END, PAGE UP, PAGE DOWN and DIRECTION keys in the clusters to the left of the numeric key pad; and the divide (/) and ENTER keys in the numeric key pad. Some other keyboards may support the extended-key bit in the lParam parameter.