Поделиться через


Структура KBDLLHOOKSTRUCT (winuser.h)

Содержит сведения о низкоуровневом событии ввода с помощью клавиатуры.

Синтаксис

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

Члены

vkCode

Тип: DWORD

Код виртуального ключа. Код должен быть значением в диапазоне от 1 до 254.

scanCode

Тип: DWORD

Код аппаратного сканирования ключа.

flags

Тип: DWORD

Флаг расширенного ключа, флаги внедрения событий, контекстный код и флаг состояния перехода. Этот элемент указывается следующим образом. Приложение может использовать следующие значения для проверки флагов нажатия клавиш. Тестирование LLKHF_INJECTED (бит 4) покажет, было ли внедрено событие. Если это так, то тестирование LLKHF_LOWER_IL_INJECTED (бит 1) покажет, было ли событие внедрено из процесса, работающего на более низком уровне целостности.

Значение Значение
LLKHF_EXTENDED
(KF_EXTENDED >> 8)
Проверьте флаг расширенного ключа.
LLKHF_LOWER_IL_INJECTED
0x00000002
Проверьте флаг внедрения события (из процесса, выполняющегося на более низком уровне целостности).
LLKHF_INJECTED
0x00000010
Проверьте флаг внедрения события (из любого процесса).
LLKHF_ALTDOWN
(KF_ALTDOWN >> 8)
Протестируйте код контекста.
LLKHF_UP
(KF_UP >> 8)
Проверьте флаг состояния перехода.
 

В следующей таблице описан макет этого значения.

Bits Описание
0 Указывает, является ли ключ расширенным ключом, например функциональным ключом или ключом на цифровой клавиатуре. Значение равно 1, если ключ является расширенным; в противном случае — 0.
1 Указывает, было ли событие внедрено из процесса, работающего на более низком уровне целостности. Значение равно 1, если это так; в противном случае — 0. Обратите внимание, что бит 4 также устанавливается всякий раз, когда задан бит 1.
2-3 Зарезервировано.
4 Указывает, было ли внедрено событие. Значение равно 1, если это так; в противном случае — 0. Обратите внимание, что бит 1 не обязательно устанавливается, если задан бит 4.
5 Код контекста. Значение равно 1, если нажата клавиша ALT; в противном случае — 0.
6 Зарезервировано.
7 Состояние перехода. Значение равно 0, если клавиша нажата, и 1, если она отпускается.

time

Тип: DWORD

Метка времени для этого сообщения, эквивалентная тому, что getMessageTime будет возвращать для этого сообщения.

dwExtraInfo

Тип: ULONG_PTR

Дополнительные сведения, связанные с сообщением.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winuser.h (включая Windows.h)

См. также раздел

Основные понятия

Обработчики

LowLevelKeyboardProc

Справочные материалы

SetWindowsHookEx