ToAscii функция преобразует указанный виртуальный ключ код и состояние клавиатуры на соответствующий символ или символы. Функция переводит код, используя язык ввода и физической клавиатуры, выявленные ручки макет данного клавиатуры.
int () ToAscii UINT uVirtKey, / / виртуальный ключ кодUINTuScanCode, / / сканирования кодаPBYTElpKeyState, / / ключ конфессиональные массивLPWORDlpChar, / / буфер для переведенных ключаUINTuFlags / / актив меню флаг);
Низкий бит, если установлено, указывает, что ключ переключается на. В этой функции актуально только бит toggle клавиши caps lock. Переключить состояние num lock и scroll lock ключей игнорируется.
Если указанный ключ является мертвым ключ, возвращаемое значение является отрицательным. В противном случае это одно из следующих значений.
Значение | Значение |
---|---|
0 | Указанный виртуальный ключ имеет перевод не для текущего состояния клавиатуры. |
1 | Один символ был скопирован в буфер. |
2 | Два символа были скопированы в буфер. Это обычно происходит, когда мертвых ключ символ (акцент или диакритический знак), хранящихся в раскладка клавиатуры не может состоять с указанным виртуальным ключом для формирования одного символа. |
Параметров, предоставленных ToAscii функция может быть недостаточно для перевода виртуального ключа кода, потому что предыдущий мертвых ключ хранится в раскладка клавиатуры.
Как правило ToAscii выполняет перевод на базе виртуального ключа кода. В некоторых случаях однако, могут использоваться бит 15 uScanCode параметра различать клавиши и основные версии. Код сканирования используется для перевода ALT +цифра комбинаций.
Хотя режим num lock ключ выключатель, который влияет на поведение клавиатуры, ToAscii игнорирует переключателя (низкая бит) из lpKeyState (VK_NUMLOCK, потому что только параметр uVirtKey является достаточно отличать движение клавиши курсора (VK_HOME, активен и т.д.) от цифровые клавиши (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Использование user32.lib.
Обзор ввода клавиатуры, ToUnicode функций ввода клавиатуры, OemKeyScan, VkKeyScan