Страница 14 из 45
Функция 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Нет Замечания по платформеНе имеется
|