Funkcja ToAsciiEx tłumaczy określony kod klucza wirtualnego i stan klawiatury do odpowiedniego znaku lub znaków. Funkcja tłumaczy kodu za pomocą język i układ klawiatury fizyczne zidentyfikowane przez uchwyt układ klawiatury danego.
int ToAsciiEx ( UINT uVirtKey, / / klucza wirtualnego koduUINTuScanCode, / / skanowanie koduPBYTElpKeyState, / / klucz Państwo tablicyLPWORDlpChar, / / buforu dla klucza przetłumaczonejUINTuFlags, / / aktywny menu Flaga HKLdwhkl / / klawiatury układ uchwyt);
Nisko bit, jeżeli jest ustawiony, wskazuje, że klucz jest przełączana na. Funkcja ta tylko bit Przełącz klawisza caps lock jest odpowiednie. Stan przełącznika kluczy num lock i scroll lock jest ignorowane.
Jeśli określonego klucza jest kluczem martwe, wartość zwracany jest ujemna. W przeciwnym przypadku jest to jedna z następujących wartości.
Wartość | Znaczenie |
---|---|
0 | Określony klucz wirtualnego ma nie tłumaczenia na bieżący stan klawiatury. |
1 | Jeden znak został skopiowany do buforu. |
2 | Dwa znaki zostały skopiowane do buforu. Zazwyczaj dzieje się, gdy znak martwych klucza (akcent lub znak diakrytyczny) przechowywane w układzie klawiatury nie może składać się z określonego klucza wirtualnego do pojedynczego znaku. |
Parametry podane do funkcji ToAsciiEx może nie jest wystarczająca do tłumaczenia kodu klucza wirtualnego, ponieważ poprzedni klucz martwych są przechowywane w układzie klawiatury.
Zazwyczaj ToAsciiEx wykonuje tłumaczenia na podstawie kodu klucza wirtualnego. W niektórych przypadkach jednak bit 15 parametr uScanCode może być używane do rozróżnienia między naciśnięciem klawisza i klucza wersji. Kod skanowania jest używany do tłumaczenianumer klucza kombinacji ALT +.
Mimo, że klawisz num lock jest klawiszem przełączania, który wpływa na zachowanie klawiatury, ToAsciiEx ignoruje ustawienia przełącznika (niskie bity) lpKeyState (VK_NUMLOCK, ponieważ parametr uVirtKey samodzielnie jest wystarczające, aby odróżnić klawisze przemieszczania kursora (VK_HOME, VK_INSERT itd.) od klawisze numeryczne (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9).
nbsp; Windows &NT: wymaga w wersji 4.0 lub nowszej.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Nieobsługiwane.
Nagłówka:Zadeklarowane w pliku winuser.h.
Importowanie biblioteki:Użycie user32.lib.
Przegląd danych wejściowych klawiatura, funkcji wprowadzania klawiatury, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan