Win32 API. Функции и сообщения ввода информации с клавиатуры
Страница 14. Функция 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Нет
Замечания по платформеНе имеется

 

 
« Предыдущая статья   Следующая статья »