Platform SDK: Interprocess Communications

KBDLLHOOKSTRUCT

The KBDLLHOOKSTRUCT structure contains information about a low-level keyboard input event.

typedef struct tagKBDLLHOOKSTRUCT {
    DWORD     vkCode;
    DWORD     scanCode;
    DWORD     flags;
    DWORD     time;
    ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;

Members

vkCode
Specifies a virtual-key code. The code must be a value in the range 1 to 254.
scanCode
Specifies a hardware scan code for the key.
flags
Specifies the extended-key flag, event-injected flag, context code, and transition-state flag. This member is specified as follows.
Value Description
0 Specifies whether the key is an extended key, such as a function key or a key on the numeric keypad. The value is 1 if the key is an extended key; otherwise, it is 0.
1-3 Reserved.
4 Specifies whether the event was injected. The value is 1 if the event was injected; otherwise, it is 0.
5 Specifies the context code. The value is 1 if the ALT key is pressed; otherwise, it is 0.
6 Reserved.
7 Specifies the transition state. The value is 0 if the key is pressed and 1 if it is being released.

An application can use the following values to test the keystroke flags.
Value Purpose
LLKHF_EXTENDED Test the extended-key flag.
LLKHF_INJECTED Test the event-injected flag.
LLKHF_ALTDOWN Test the context code.
LLKHF_UP Test the transition-state flag.

time
Specifies the time stamp for this message.
dwExtraInfo
Specifies extra information associated with the message.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Unsupported.
  Header: Declared in Winuser.h; include Windows.h.

See Also

Hooks Overview, Hook Structures, LowLevelKeyboardProc, SetWindowsHookEx