Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается, как система создает ввод клавиатуры и как приложение получает и обрабатывает входные данные.
В этом разделе
Имя | Описание |
---|---|
Сведения о вводе с клавиатуры | Обсуждает ввод клавиатуры. |
Использование ввода клавиатуры | Охватывает задачи, связанные с вводом клавиатуры. |
Справочник по вводу клавиатуры | Содержит ссылку на API. |
Функции
Имя | Описание |
---|---|
ActivateKeyboardLayout | Задает идентификатор входного языкового стандарта (ранее называемый дескриптором раскладки клавиатуры) для вызывающего потока или текущего процесса. Идентификатор языкового стандарта ввода указывает языковой стандарт, а также физический макет клавиатуры. |
BlockInput | Блокирует доступ к приложениям событий ввода клавиатуры и мыши. |
EnableWindow | Включает или отключает ввод мыши и клавиатуры в указанное окно или элемент управления. Если входные данные отключены, окно не получает входные данные, такие как щелчки мыши и нажатия клавиш. Если входные данные включены, окно получает все входные данные. |
GetActiveWindow | Извлекает дескриптор окна в активное окно, подключенное к очереди сообщений вызывающего потока. |
GetAsyncKeyState | Определяет, находится ли ключ вверх или вниз во время вызова функции, и указывает, был ли нажатием клавиши после предыдущего вызова GetAsyncKeyState. |
GetFocus | Извлекает дескриптор в окно с фокусом клавиатуры, если окно подключено к очереди сообщений вызывающего потока. |
GetKeyboardLayout | Извлекает идентификатор языкового стандарта активного ввода (ранее называемый раскладкой клавиатуры) для указанного потока. Если параметр idThread равен нулю, возвращается входной языковой стандарт для активного потока. |
GetKeyboardLayoutList | Извлекает входные идентификаторы языкового стандарта (ранее называемые дескрипторами раскладки клавиатуры), соответствующие текущему набору языковых стандартов ввода в системе. Функция копирует идентификаторы в указанный буфер. |
GetKeyboardLayoutName | Извлекает имя идентификатора языкового стандарта активного ввода (прежнее название — раскладка клавиатуры). |
GetKeyboardState | Копирует состояние 256 виртуальных ключей в указанный буфер. |
GetKeyNameText | Извлекает строку, представляющую имя ключа. |
GetKeyState | Извлекает состояние указанного виртуального ключа. Состояние указывает, находится ли ключ вверх, вниз или переключается (вкл., отключается при каждом нажатии клавиши). |
GetLastInputInfo | Извлекает время последнего входного события. |
IsWindowEnabled | Определяет, включено ли указанное окно для ввода мыши и клавиатуры. |
LoadKeyboardLayout | Загружает новый идентификатор языкового стандарта ввода (ранее называемый раскладкой клавиатуры) в систему. Несколько входных идентификаторов языкового стандарта можно загружать одновременно, но одновременно активируется только один процесс. Загрузка нескольких входных идентификаторов языкового стандарта позволяет быстро переключаться между ними. |
MapVirtualKey | Преобразует (сопоставляет) код виртуального ключа в код сканирования или значение символа или преобразует код сканирования в код виртуального ключа. Чтобы указать дескриптор раскладки клавиатуры для перевода указанного кода, используйте функцию MapVirtualKeyEx . |
MapVirtualKeyEx | Карты код виртуального ключа в код сканирования или значение символа или преобразует код сканирования в код виртуального ключа. Функция преобразует коды с помощью языка ввода и идентификатора языкового стандарта ввода. |
OemKeyScan | Карты коды OEMASCII до 0x0FF в коды сканирования OEM и состояния смены. Эта функция предоставляет сведения, позволяющие программе отправлять текст OEM в другую программу путем имитации ввода клавиатуры. |
RegisterHotKey | Определяет горячий ключ на уровне системы. |
SendInput | Синтезирует нажатия клавиш, движения мыши и нажатия кнопки. |
SetActiveWindow | Активирует окно. Окно должно быть присоединено к очереди сообщений вызывающего потока. |
Setfocus | Задает фокус клавиатуры для указанного окна. Окно должно быть присоединено к очереди сообщений вызывающего потока. |
SetKeyboardState | Копирует 256-байтовый массив состояний клавиши клавиатуры в таблицу состояния ввода-состояния клавиатуры вызывающего потока. Это та же таблица, доступная к функциям GetKeyboardState и GetKeyState. Изменения, внесенные в эту таблицу, не влияют на ввод клавиатуры в любой другой поток. |
ToAscii | Преобразует указанный код виртуального ключа и состояние клавиатуры в соответствующие символы или символы. Функция преобразует код с помощью языка ввода и физической раскладки клавиатуры, определяемой дескриптором раскладки клавиатуры. Чтобы указать дескриптор раскладки клавиатуры для перевода указанного кода, используйте функцию ToAsciiEx . |
ToAsciiEx | Преобразует указанный код виртуального ключа и состояние клавиатуры в соответствующие символы или символы. Функция преобразует код с помощью языка ввода и физического макета клавиатуры, определяемого идентификатором входного языкового стандарта. |
ToUnicode | Преобразует указанный код виртуального ключа и состояние клавиатуры в соответствующий символ Юникода или символы. Чтобы указать дескриптор раскладки клавиатуры для перевода указанного кода, используйте функцию ToUnicodeEx . |
ToUnicodeEx | Преобразует указанный код виртуального ключа и состояние клавиатуры в соответствующий символ Юникода или символы. |
UnloadKeyboardLayout | Выгрузит входной идентификатор языкового стандарта (ранее называемый раскладкой клавиатуры). |
Отмена регистрацииHotKey | Освобождает горячий ключ, ранее зарегистрированный вызывающим потоком. |
VkKeyScanEx | Преобразует символ в соответствующий код виртуального ключа и состояние shift. Функция преобразует символ с помощью языка ввода и физического макета клавиатуры, определяемого идентификатором входного языкового стандарта. |
Следующие функции устарели.
Function | Description |
---|---|
Get КБ CodePage | Извлекает текущую кодовую страницу. |
keybd_event | Синтезирует нажатие клавиши. Система может использовать такой синтезированный нажатие клавиш для создания сообщения WM_KEYUP или WM_KEYDOWN. Обработчик прерываний драйвера клавиатуры вызывает функцию keybd_event. |
VkKeyScan | Преобразует символ в соответствующий код виртуального ключа и состояние shift для текущей клавиатуры. |
Сообщения
Имя | Описание |
---|---|
WM_GETHOTKEY | Определяет горячий ключ, связанный с окном. |
WM_SETHOTKEY | Связывает горячий ключ с окном. Когда пользователь нажимает горячий ключ, система активирует окно. |
Notifications
Имя | Описание |
---|---|
WM_ACTIVATE | Отправлено как в активированное окно, так и в деактивированное окно. Если окна используют ту же очередь ввода, сообщение отправляется синхронно, сначала в процедуру окна деактивации окна верхнего уровня, а затем в процедуру окна верхнего уровня, активируемую. Если окна используют разные входные очереди, сообщение отправляется асинхронно, поэтому окно активируется немедленно. |
WM_APPCOMMAND | Уведомляет окно о том, что пользователь создал событие команды приложения, например щелкнув кнопку команды приложения с помощью мыши или введя клавишу команды приложения на клавиатуре. |
WM_CHAR | Размещено в окне с фокусом клавиатуры при переводе сообщения WM_KEYDOWN функцией TranslateMessage. Сообщение WM_CHAR содержит код символа нажатия клавиши. |
WM_DEADCHAR | Размещено в окне с фокусом клавиатуры при переводе сообщения WM_KEYUP функцией TranslateMessage. WM_DEADCHAR задает код символа, созданный мертвым ключом. Мертвый ключ — это ключ, который создает символ, например umlaut (double-dot), который объединяется с другим символом для формирования составного символа. Например, символ umlaut-O () создается путем ввода мертвого ключа для символа umlaut, а затем ввода ключа O. |
WM_HOTKEY | Опубликовано, когда пользователь нажимает горячий ключ, зарегистрированный функцией RegisterHotKey . Сообщение помещается в верхней части очереди сообщений, связанной с потоком, который зарегистрировал горячий ключ. |
WM_KEYDOWN | Размещено в окне с фокусом клавиатуры при нажатии несистемного клавиши. Несистемный ключ — это ключ, который нажимается, когда клавиша ALT не нажимается. |
WM_KEYUP | Размещено в окне с фокусом клавиатуры при освобождении несистемного ключа. Несистемный ключ — это клавиша, которая нажимается, если клавиша ALT не нажимается, или клавиша клавиатуры, которая нажимается, когда окно имеет фокус клавиатуры. |
WM_KILLFOCUS | Отправлено в окно непосредственно перед потерей фокуса клавиатуры. |
WM_SETFOCUS | Отправлено в окно после получения фокуса клавиатуры. |
WM_SYSDEADCHAR | Отправляется в окно с фокусом клавиатуры при переводе сообщения WM_SYSKEYDOWN функцией TranslateMessage. WM_SYSDEADCHAR задает код символа системного мертвого ключа, т. е. мертвый ключ, который нажимается при удержании клавиши ALT. |
WM_SYSKEYDOWN | Размещено в окне с фокусом клавиатуры, когда пользователь нажимает клавишу F10 (которая активирует строку меню) или удерживает клавиши ALT, а затем нажимает другой ключ. Это также происходит, если в настоящее время окно не имеет фокуса клавиатуры; В этом случае сообщение WM_SYSKEYDOWN отправляется в активное окно. Окно, которое получает сообщение, может различать эти два контекста, проверка код контекста в параметре lParam. |
WM_SYSKEYUP | Размещено в окне с фокусом клавиатуры, когда пользователь освобождает клавишу, которая была нажата, пока клавиша ALT была удерживалась. Это также происходит, если в настоящее время окно не имеет фокуса клавиатуры; В этом случае сообщение WM_SYSKEYUP отправляется в активное окно. Окно, которое получает сообщение, может различать эти два контекста, проверка код контекста в параметре lParam. |
WM_UNICHAR | Размещено в окне с фокусом клавиатуры при переводе сообщения WM_KEYDOWN функцией TranslateMessage. Сообщение WM_UNICHAR содержит код символа нажатия клавиши. |
Структуры
Имя | Описание |
---|---|
HARDWAREINPUT | Содержит сведения об имитированном сообщении, созданном устройством ввода, кроме клавиатуры или мыши. |
INPUT | Содержит сведения, используемые для синтеза событий ввода, таких как нажатия клавиш, перемещение мыши и щелчки мыши. |
KEYBDINPUT | Содержит сведения о имитированном событии клавиатуры. |
LASTINPUTINFO | Содержит время последнего ввода. |
MOUSEINPUT | Содержит сведения о имитированном событии мыши. |
Константы
Имя | Описание |
---|---|
Коды виртуальных ключей | Символьные имена констант, шестнадцатеричные значения и эквиваленты мыши или клавиатуры для кодов виртуальных ключей, используемых системой. Коды перечислены в числовом порядке. |