The KBDLLHOOKSTRUCT structure contains information about a low-level keyboard input event.
typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode; // virtual key code
DWORD scanCode; // scan code
DWORD flags; // flags
DWORD time; // time stamp for this message
DWORD dwExtraInfo; // extra info from the driver or keybd_event
} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
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. |
Windows NT: Requires version 4.0 SP3 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Hooks Overview, Hook Structures, LowLevelKeyboardProc, SetWindowsHookEx