Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Содержит сведения о имитированном событии клавиатуры.
Синтаксис
typedef struct tagKEYBDINPUT {
WORD wVk;
WORD wScan;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
Members
wVk
Тип: WORD
Код виртуального ключа. Код должен быть значением в диапазоне от 1 до 254. Если элемент dwFlags указывает KEYEVENTF_UNICODE, wVk должен иметь значение 0.
wScan
Тип: WORD
Код проверки оборудования для ключа. Если dwFlags указывает KEYEVENTF_UNICODE, wScan задает символ Юникода, который отправляется в приложение переднего плана.
dwFlags
Тип: DWORD
Задает различные аспекты нажатия клавиш. Этот элемент может быть определенным сочетанием следующих значений.
| Ценность | Meaning |
|---|---|
|
Если задано, код проверки wScan состоит из последовательности двух байтов, где первый байт имеет значение 0xE0. Дополнительные сведения см. в разделеExtended-Key Flag . |
|
При указании ключ освобождается. Если не указано, нажимается клавишу. |
|
Если задано, wScan идентифицирует ключ и wVk игнорируется. |
|
Если задано, система синтезирует VK_PACKET нажатие клавиш. Параметр wVk должен быть равен нулю. Этот флаг можно объединить только с флагом KEYEVENTF_KEYUP . Дополнительные сведения см. в разделе с примечаниями. |
time
Тип: DWORD
Метка времени для события в миллисекундах. Если этот параметр равен нулю, система будет предоставлять собственную метку времени.
dwExtraInfo
Тип: ULONG_PTR
Дополнительное значение, связанное с нажатием клавиш. Для получения этих сведений используйте функцию GetMessageExtraInfo .
Замечания
INPUT_KEYBOARD поддерживает методы, отличные отkeyboard-input, такие как распознавание рукописного ввода или распознавание голоса, как если бы это были текстовые входные данные с помощью флага KEYEVENTF_UNICODE . Если указан KEYEVENTF_UNICODE, SendInput отправляет WM_KEYDOWN или WM_KEYUP сообщение в очередь сообщений переднего плана с wParam равным VK_PACKET. Когда GetMessage или PeekMessage получает это сообщение, передав сообщение в TranslateMessage отправляет сообщение WM_CHAR с символом Юникода, первоначально указанным wScan. Этот символ Юникода автоматически преобразуется в соответствующее значение ANSI, если оно размещено в окне ANSI.
Задайте флаг KEYEVENTF_SCANCODE для определения ввода клавиатуры с точки зрения кода сканирования. Это полезно для имитации физического нажатия клавиш независимо от используемой в настоящее время клавиатуры. Вы также можете передать флаг KEYEVENTF_EXTENDEDKEY , если код сканирования является расширенным ключом. Значение виртуального ключа может изменяться в зависимости от текущей раскладки клавиатуры или нажатия других клавиш, но код сканирования всегда будет одинаковым.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 2000 Профессиональный [только классические приложения] |
| минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
| Header | winuser.h (включая Windows.h) |