Структура KEYBDINPUT


Структура KEYBDINPUT содержит информацию об имитируемом событии клавиатуры.

Синтаксис

typedef struct tagKEYBDINPUT {
    WORD  wVk;
    WORD  wScan;
    DWORD  dwFlags;
    DWORD  time;
    ULONG_PTR  dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT;

Члены структуры

wVk

Устанавливает код виртуальной клавиши. Код должен быть значением в диапазоне 1 - 254. Заголовочный файл Winuser.h предоставляет на каждое значение макроопределения (VK_ *). Если член структуры dwFlags  определяется как KEYEVENTF_UNICODE,  член структуры wVk должен быть 0.

wScan

Устанавливает аппаратный скэн-код для клавиши. Если член структуры dwFlags  определяется как KEYEVENTF_UNICODE, член структуры wScan определяет символ Unicode, который должен отправиться  активному приложению.

dwFlags

Устанавливает различные виды нажатия клавиши. Этот член может быть определенными комбинациями нижеследующих значений.

Значение Предназначение
KEYEVENTF_EXTENDEDKEY Если определено, то скэн-коду предшествует префиксный байт, который имеет величину 0xE0 (224). 
KEYEVENTF_KEYUP Если определено, то клавиша отпускается. Если не определено, то клавиша нажимается. 
KEYEVENTF_SCANCODE Если определено, то член структуры wScan идентифицирует клавишу, а член структуры wVk игнорируется. 
KEYEVENTF_UNICODE  Windows 2000/XP: Если определено, то система синтезирует нажатие клавиши VK_PACKET . Параметр WVk  должен равняться нулю. Этот флажок может  быть объединен только с флажком KEYEVENTF_KEYUP. Для получения дополнительной информации, см. раздел Замечаний. 

time

Отметка времени для события, в миллисекундах. Если этот параметр равняется нулю, система предоставляет свою собственную отметку времени.

dwExtraInfo

Устанавливает дополнительное значение, связанное с нажатием клавиши. Используйте функцию GetMessageExtraInfo, чтобы получить эту информацию.

Замечания

Windows 2000/XP: Флажок INPUT_KEYBOARD поддерживает  не клавиатурные методы ввода данных такие как распознавание почерка или распознавание голоса, как будто это был текстовой ввод, используя флажок KEYEVENTF_UNICODE. Если KEYEVENTF_UNICODE устанавливается, функция SendInput отправляет сообщение WM_KEYDOWN или WM_KEYUP  в очередь сообщений активного потока с параметром wParam, равным VK_PACKET. Как только функция GetMessage или PeekMessage получает это сообщение, оно переправляется в функцию TranslateMessage, которое посылает сообщение WM_CHAR  с символом Unicode, первоначально заданным параметром wScan. Этот символ Unicode будет автоматически преобразован в соответствующее значение ANSI, если сообщение посылается к окну ANSI.

Windows 2000/XP: Установка флажка KEYEVENTF_SCANCODE определяет ввод с клавиатуры в терминах скэн-кода. Это практикуется при имитации физического нажатия клавиши, независимо от того используется или нет  клавиатура в настоящий момент. Значение виртуальной клавиши клавиши может измениться в зависимости от текущей раскладки клавиатуры или от того, что другие клавиши были нажаты, но скэн-код всегда будет тот же самый.

Смотри также

Обзор Ввод данных с клавиатуры, GetMessageExtraInfo, SendInput, INPUT

Размещение и совместимость KEYBDINPUT

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 4.0 Service Pack 3

Windows Me

Да

Windows 98

Да

Windows 95

Нет

Импортируемая библиотека

Нет

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz