Win32 API. Функции и сообщения ввода информации с клавиатуры - Функция keybd_event
ОГЛАВЛЕНИЕ
Функция keybd_event
(событие_клавиатуры)
Функция keybd_event синтезирует нажатие клавиши. Система может использовать такое синтезируемое нажатие клавиши, чтобы создать сообщение WM_KEYUP или WM_KEYDOWN. Вызывает функцию keybd_event программа обработки прерываний драйвера клавиатуры.
Синтаксис
VOID keybd_event
(
BYTE bVk, // код виртуальной клавиши
BYTE bScan, // аппаратный скэн-код
DWORD dwFlags, // флажки, определяющие различные параметры функции
DWORD dwExtraInfo // дополнительные данные, связанные с нажатием клавиши
);
Параметры
bVk
Определяет код виртуальной клавиши. Код должен быть значением в диапазоне от 1 до 254.
bScan
Определяет для клавиши аппаратный скэн-код.
dwFlags
Набор флаговых битов, которые определяют различные виды операций функции. Прикладная программа может использовать любую комбинацию следующих предопределенных постоянных значений, чтобы установить флажки:
- KEYEVENTF_EXTENDEDKEY - Если она установлена, скэн-коду предшествует префиксный байт, имеющий значение 0xE0 (224).
- KEYEVENTF_KEYUP - Если установлена, клавиша была отпущена. Если не установлена, клавиша была нажата.
dwExtraInfo
Определяет дополнительное 32-разрядное значение, связанное с нажатием клавиши.
Возвращаемые значения
У этой функции нет возвращаемых значений.
Замечания
Несмотря на то, что keybd_event посылает в Windows OEM-зависимый аппаратный скэн-код, прикладные программы не должны использовать скэн-код. Windows внутри себя преобразует его в коды виртуальной клавиши и сбрасывает/устанавливает биты в скэн-коде перед передачей его в прикладную программу.
Прикладная программа может смоделировать нажатие клавиши PrintScreen, чтобы получить снимок экрана и сохранить его в буфере обмена Windows. Чтобы делать это, вызовите keybd_event с установленным параметром bVk в VK_SNAPSHOT, а параметром bScan установите в 0 для снимка полного экрана, или установите bScan в 1 для снимка активного окна.
Смотри также
GetAsyncKeyState, GetKeyState, MapVirtualKey, SetKeyboardState
Размещение и совместимость keybd_event
Windows NT Да
Win95 Да
Win32s Нет
Импортируемая библиотека user32.lib
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе Не имеется