ToAscii

ToAscii функция преобразует указанный виртуальный ключ код и состояние клавиатуры на соответствующий символ или символы. Функция переводит код, используя язык ввода и физической клавиатуры, выявленные ручки макет данного клавиатуры.

int () ToAscii UINT  uVirtKey, / / виртуальный ключ кодUINTuScanCode, / / сканирования кодаPBYTElpKeyState, / / ключ конфессиональные массивLPWORDlpChar, / / буфер для переведенных ключаUINTuFlags / / актив меню флаг);
 

Параметры

uVirtKey
Указывает код виртуального ключа для перевода.
uScanCode
Указывает код сканирования аппаратного ключа для перевода. Старший бит этого значения устанавливается, если ключ вверх (не нажата).
lpKeyState
Указатель на массив 256 байт, содержащий текущее состояние клавиатуры. Каждый элемент (байт) в массиве содержит состояние одной клавиши. Если старший бит байта, ключ не работает (прессованные).

Низкий бит, если установлено, указывает, что ключ переключается на. В этой функции актуально только бит toggle клавиши caps lock. Переключить состояние num lock и scroll lock ключей игнорируется.

lpChar
Указатель на буфер, которая получит преобразованный символ или символы.
uFlags
Указывает, активна ли меню. Этот параметр должен быть 1 Если меню активным, или 0 в противном случае.

Возвращаемые значения

Если указанный ключ является мертвым ключ, возвращаемое значение является отрицательным. В противном случае это одно из следующих значений.

Значение Значение
0 Указанный виртуальный ключ имеет перевод не для текущего состояния клавиатуры.
1 Один символ был скопирован в буфер.
2 Два символа были скопированы в буфер. Это обычно происходит, когда мертвых ключ символ (акцент или диакритический знак), хранящихся в раскладка клавиатуры не может состоять с указанным виртуальным ключом для формирования одного символа.

Примечания

Параметров, предоставленных ToAscii функция может быть недостаточно для перевода виртуального ключа кода, потому что предыдущий мертвых ключ хранится в раскладка клавиатуры.

Как правило ToAscii выполняет перевод на базе виртуального ключа кода. В некоторых случаях однако, могут использоваться бит 15 uScanCode параметра различать клавиши и основные версии. Код сканирования используется для перевода ALT +цифра комбинаций.

Хотя режим num lock ключ выключатель, который влияет на поведение клавиатуры, ToAscii игнорирует переключателя (низкая бит) из lpKeyState (VK_NUMLOCK, потому что только параметр uVirtKey является достаточно отличать движение клавиши курсора (VK_HOME, активен и т.д.) от цифровые клавиши (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Использование user32.lib.

Родственные слова

Обзор ввода клавиатуры, ToUnicode функций ввода клавиатуры, OemKeyScan, VkKeyScan

Index