10.16.1.13 - Функция 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
Набор флаговых битов, которые определяют различные виды операций функции. Прикладная программа может использовать любую комбинацию следующих предопределенных постоянных значений, чтобы установить флажки:

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					Нет 
Замечания по платформе			Не имеется

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 05.08.2002