Freigeben über


VkKeyScanExA-Funktion (winuser.h)

Übersetzt ein Zeichen in den entsprechenden Virtuellen Schlüsselcode und den Schichtzustand. Die Funktion übersetzt das Zeichen mithilfe der Eingabesprache und des physischen Tastaturlayouts, das durch den Eingabegebietsschemabezeichner identifiziert wird.

Syntax

SHORT VkKeyScanExA(
  [in] CHAR ch,
  [in] HKL  dwhkl
);

Parameter

[in] ch

Typ: TCHAR-

Das Zeichen, das in einen virtuellen Schlüsselcode übersetzt werden soll.

[in] dwhkl

Typ: HKL-

Eingabegebietsschemabezeichner, der zum Übersetzen des Zeichens verwendet wird. Dieser Parameter kann ein beliebiger Eingabegebietsschemabezeichner sein, der zuvor von der LoadKeyboardLayout-Funktion zurückgegeben wurde.

Rückgabewert

Typ: SHORT

Wenn die Funktion erfolgreich ist, enthält das Byte mit niedriger Reihenfolge des Rückgabewerts den Code für virtuelle Schlüssel und das Byte mit hoher Reihenfolge den Schichtzustand, der eine Kombination der folgenden Flagbits sein kann.

Rückgabewert Beschreibung
1
Beide UMSCHALTTASTEn werden gedrückt.
2
Die STRG-TASTE wird gedrückt.
4
Beide ALT-Taste wird gedrückt.
8
Die Hankaku-Taste wird gedrückt.
16
Reserviert (definiert durch den Tastaturlayouttreiber).
32
Reserviert (definiert durch den Tastaturlayouttreiber).
 

Wenn die Funktion keinen Schlüssel findet, der in den übergebenen Zeichencode übersetzt wird, enthalten sowohl die Byte mit niedriger Reihenfolge als auch die Hochreihenfolge -1.

Bemerkungen

Der Eingabegebietsschemabezeichner ist ein breiteres Konzept als ein Tastaturlayout, da es auch einen Sprach-zu-Text-Konverter, einen Eingabemethoden-Editor (INPUT Method Editor, IME) oder eine andere Art von Eingabe umfassen kann.

Bei Tastaturlayouts, die die rechte ALT-TASTE als Umschalttaste verwenden (z. B. das französische Tastaturlayout), wird der Umschaltzustand durch den Wert 6 dargestellt, da die rechte ALT-TASTE intern in STRG+ALT konvertiert wird.

Übersetzungen für die Zehnertastatur (VK_NUMPAD0 bis VK_DIVIDE) werden ignoriert. Diese Funktion dient nur zum Übersetzen von Zeichen in Tastaturanschläge aus dem Haupttastaturenabschnitt. Beispielsweise wird das Zeichen "7" in VK_7 übersetzt, nicht in VK_NUMPAD7.

VkKeyScanEx- wird von Anwendungen verwendet, die Zeichen mithilfe der WM_KEYUP und WM_KEYDOWN Nachrichten senden.

Anmerkung

Der winuser.h-Header definiert VkKeyScanEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch