WM_KEYDOWN/WM_KEYUP

Syntax

WM_KEYDOWN

    WPARAM wParam
    LPARAM lParam;

Parameters

wParam
Specifies the virtual-key code of the nonsystem key.
lParam
Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table.

0-15
  Specifies the repeat count for the current message. The value is the
  number of times the keystroke is autorepeated as a result of the user
  holding down the key. If the keystroke is held long enough, multiple
  messages are sent. However, the repeat count is not cumulative.
16-23
  Specifies the scan code. The value depends on the OEM.
24
  Specifies whether the key is an extended key, such as the right-hand ALT
  and CTRL keys that appear on an enhanced 101- or 102-key keyboard. T
  he value is 1 if it is an extended key; otherwise, it is 0.
25-28
  Reserved; do not use.
29
  Specifies the context code. The value is always 0 for a WM_KEYDOWN message.
30
  Specifies the previous key state. The value is 1 if the key is down before 
  the message is sent, or it is zero if the key is up.
31
  Specifies the transition state. The value is always zero for a WM_KEYDOWN 
  message.

Return Value
An application should return zero if it processes this message.

Syntax

WM_KEYUP

    WPARAM wParam
    LPARAM lParam;

Parameters

wParam
Specifies the virtual-key code of the nonsystem key.
lParam
Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table.

0-15
  Specifies the repeat count for the current message. The value is the 
  number of times the keystroke is autorepeated as a result of the user 
  holding down the key. The repeat count is always one for a WM_KEYUP message.
16-23
Specifies the scan code. The value depends on the OEM.
24
  Specifies whether the key is an extended key, such as the right-hand AL
  and CTRL keys that appear on an enhanced 101- or 102-key keyboard. 
  The value is 1 if it is an extended key; otherwise, it is 0.
25-28
  Reserved; do not use.
29
  Specifies the context code. The value is always 0 for a WM_KEYUP message.
30
  Specifies the previous key state. The value is always 1 for a WM_KEYUP message.
31
  Specifies the transition state. The value is always 1 for a WM_KEYUP message.
Return Value

An application should return zero if it processes this message.