ToAsciiEx

Die ToAsciiEx -Funktion übersetzt die angegebene virtueller Tastencode und Tastaturstatus, bzw. die entsprechenden Zeichen. Die Funktion verschiebt den Code unter Verwendung der Eingabesprache und physische Tastaturlayout identifiziert durch das bestimmte Tastatur-Layout-handle.

Int ToAsciiEx) UINT  uVirtKey, / / virtual-Key CodeUINTuScanCode, / / scan CodePBYTElpKeyState, / / Schlüssel-Staat ArrayLPWORDlpChar, / / Puffer für übersetzte SchlüsselUINTuFlags, / / Flagge aktiv-Menü HKLDwhkl / / Tastatur Layout-Handle);
 

Parameter

uVirtKey
Gibt den virtuellen Schlüssel-Code übersetzt werden.
uScanCode
Gibt den Hardware Scan-Code des Schlüssels übersetzt werden. Das höchstwertige Bit des dieser Wert wird festgelegt, wenn der Schlüssel ist oben (nicht gedrückt).
lpKeyState
Zeiger auf eine 256-Byte-Array, das den aktuellen Zustand der Tastatur enthält. Jedes Element (Byte) im Array enthält den Zustand einer Taste. Wenn das höchstwertige Bit eines Bytes festgelegt ist, ist der Schlüssel unten (gedrückt).

Die niedrigen bit, falls gesetzt, bedeutet, dass der Schlüssel auf umgeschaltet wird. In dieser Funktion ist nur das Toggle-Bit der die Feststelltaste relevant. Der Umschaltzustand des die Num Lock und Scroll Lock Tasten wird ignoriert.

lpChar
Zeiger auf den Puffer, der die übersetzten Zeichen oder Zeichen erhalten.
uFlags
Gibt an, ob ein Menü aktiv ist. Dieser Parameter muss 1 sein, wenn ein Menü aktiviert ist, andernfalls 0.
dwhkl
Handle für das Tastaturlayout verwenden, um den angegebenen Code zu übersetzen. Dieser Parameter kann Tastatur Layout Handle zuvor von der LoadKeyboardLayout -Funktion zurückgegeben werden.

Rückgabewerte

Wenn der angegebene Schlüssel ein toter Schlüssel ist, ist der Rückgabewert negativ. Ansonsten ist es einer der folgenden Werte.

Wert Bedeutung
0 Die angegebene virtuelle Taste hat keine Übersetzung für den aktuellen Zustand der Tastatur.
1 Ein Zeichen wurde in den Puffer kopiert.
2 Zwei Zeichen wurden in den Puffer kopiert. Dies geschieht normalerweise, wenn ein Toten-Schlüssel Zeichen (Akzent oder diakritisches Zeichen) in das Tastaturlayout gespeichert kann nicht mit dem angegebenen virtuellen Schlüssel bilden ein einzelnes Zeichen zusammengesetzt werden.

Bemerkungen

Die Parametern bereitgestellt, um die ToAsciiEx -Funktion möglicherweise nicht ausreichen, um den virtuellen Schlüssel-Code übersetzen, da ein vorheriger toter Schlüssel in das Tastaturlayout gespeichert ist.

ToAsciiEx führt in der Regel die Übersetzung auf der Grundlage des virtuellen Tastencodes. In einigen Fällen kann jedoch, Bit 15 des uScanCode -Parameters zum Drücken einer Taste und eine wichtige Version unterscheiden. Der Scan-Code dient zum Übersetzen von ALT +Zahlentaste Kombinationen.

Obwohl num eine Umschalttaste die Tastaturverhalten beeinflusst ist, ToAsciiEx ignoriert die Einstellung umschalten (die niedrigen Bit) des LpKeyState (VK_NUMLOCK, da der uVirtKey -Parameter allein ausreichen, um die Cursortasten Bewegung (VK_HOME, VK_INSERT, usw.) von den numerischen Schlüsseln (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9) zu unterscheiden ist.

QuickInfo

&Nbsp; Windows NT: Version 4.0 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.

Siehe auch

Übersicht über die Tastatur-Eingabe, Keyboard Input Funktionen, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index