Структура KEYBDINPUT содержит информацию об имитируемом событии клавиатуры.
Синтаксис
|
Члены структуры
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 |
Нет |
|
Замечания по платформе |
Не имеется |