ToAsciiEx

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);
 

Parametry

uVirtKey
Określa kod klucza wirtualnego przetłumaczona.
uScanCode
Określa kod skanowania sprzętu klucza przetłumaczona. Wysokich numerach tej wartości jest ustawiony bit zapasowej klucza (nie wciśnięty).
lpKeyState
Wskaźnik tablicy 256 bajtów, który zawiera bieżący stan klawiatury. Każdy element (bajt) w tablicy zawiera stan jednego klawisza. Jeśli jest ustawiony bit wysokich numerach bajtu, klucz jest wyłączony (wciśnięty).

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.

lpChar
Wskaźnik do buforu, który będzie odbierał przetłumaczonych znaku lub znaków.
uFlags
Określa, czy menu jest aktywny. Ten parametr musi być równa 1 Jeśli menu jest aktywny, w przeciwnym razie zero.
dwhkl
Dojście do układu klawiatury do tłumaczenia danego kodu. Ten parametr może być dowolny uchwyt układu klawiatury, poprzednio zwróconych przez funkcję LoadKeyboardLayout.

Zwraca wartości

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.

Uwagi

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).

Skrócone informacje

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.

Zobacz też

Przegląd danych wejściowych klawiatura, funkcji wprowadzania klawiatury, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index