Tastatureingaben

In diesem Abschnitt wird beschrieben, wie das System Tastatureingaben generiert und wie eine Anwendung diese Eingabe empfängt und verarbeitet.

In diesem Abschnitt

Name BESCHREIBUNG
Informationen über Tastatureingabe Erläutert tastatureingaben.
Verwenden von Tastatureingaben Behandelt Aufgaben, die tastatureingaben zugeordnet sind.
Tastatureingabereferenz Enthält den API-Verweis.

Functions

Name BESCHREIBUNG
ActivateKeyboardLayout Legt den Eingabegebietsschemabezeichner (früher als Tastaturlayouthandle bezeichnet) für den aufrufenden Thread oder den aktuellen Prozess fest. Der Eingabegebietsschemabezeichner gibt ein Gebietsschema sowie das physische Layout der Tastatur an.
BlockInput Verhindert, dass Tastatur- und Mauseingabeereignisse Anwendungen erreichen.
EnableWindow Aktiviert oder deaktiviert Maus- und Tastatureingaben für das angegebene Fenster oder Steuerelement. Wenn die Eingabe deaktiviert ist, empfängt das Fenster keine Eingaben, z. B. Mausklicks und Tastendrücke. Wenn die Eingabe aktiviert ist, empfängt das Fenster alle Eingaben.
GetActiveWindow Ruft das Fensterhandle für das aktive Fenster ab, das an die Nachrichtenwarteschlange des aufrufenden Threads angefügt ist.
GetAsyncKeyState Bestimmt, ob eine Taste zum Zeitpunkt des Aufrufs der Funktion nach oben oder unten ist und ob die Taste nach einem vorherigen Aufruf von GetAsyncKeyState gedrückt wurde.
GetFocus Ruft das Handle in das Fenster ab, das den Tastaturfokus hat, wenn das Fenster an die Nachrichtenwarteschlange des aufrufenden Threads angefügt ist.
GetKeyboardLayout Ruft den aktiven Eingabegebietsschemabezeichner (früher als Tastaturlayout bezeichnet) für den angegebenen Thread ab. Wenn der idThread-Parameter null ist, wird der Eingabegebietsschemabezeichner für den aktiven Thread zurückgegeben.
GetKeyboardLayoutList Ruft die Eingabegebietsschemabezeichner (früher als Tastaturlayouthandles bezeichnet) ab, die dem aktuellen Satz von Eingabegebietsschemas im System entsprechen. Die Funktion kopiert die Bezeichner in den angegebenen Puffer.
GetKeyboardLayoutName Ruft den Namen des aktiven Eingabegebietsgebietsbezeichners (früher als Tastaturlayout bezeichnet) ab.
GetKeyboardState Kopiert die status der 256 virtuellen Schlüssel in den angegebenen Puffer.
GetKeyNameText Ruft eine Zeichenfolge ab, die den Namen eines Schlüssels darstellt.
GetKeyState Ruft die status des angegebenen virtuellen Schlüssels ab. Der status gibt an, ob die Taste nach oben, unten oder umschaltet (bei jedem Drücken der Taste abwechselnd aktiviert, deaktiviert).
GetLastInputInfo Ruft den Zeitpunkt des letzten Eingabeereignisses ab.
IsWindowEnabled Bestimmt, ob das angegebene Fenster für Maus- und Tastatureingaben aktiviert ist.
LoadKeyboardLayout Lädt einen neuen Eingabegebietsschemabezeichner (früher als Tastaturlayout bezeichnet) in das System. Es können mehrere Eingabegebietsschemabezeichner gleichzeitig geladen werden, aber nur eine pro Prozess ist gleichzeitig aktiv. Das Laden mehrerer Eingabegebietsgebietsbezeichner ermöglicht es, schnell zwischen ihnen zu wechseln.
MapVirtualKey Übersetzt (ordnet) einen Virtuellen Schlüsselcode in einen Scancode oder einen Zeichenwert zu oder übersetzt einen Scancode in einen Virtuellen Schlüsselcode.
Verwenden Sie die MapVirtualKeyEx-Funktion , um ein Handle für das Tastaturlayout anzugeben, das zum Übersetzen des angegebenen Codes verwendet werden soll.
MapVirtualKeyEx Ordnet einen Virtuellen Schlüsselcode einem Scancode oder einem Zeichenwert zu oder übersetzt einen Scancode in einen Virtuellen Schlüsselcode. Die Funktion übersetzt die Codes mithilfe der Eingabesprache und eines Eingabegebietsgebietsbezeichners.
OemKeyScan Ordnet OEMASCII-Codes 0 bis 0x0FF den OEM-Scancodes und -Verschiebungszuständen zu. Die Funktion stellt Informationen bereit, die es einem Programm ermöglichen, OEM-Text durch Simulation der Tastatureingabe an ein anderes Programm zu senden.
RegisterHotKey Definiert einen systemweiten Hot Key.
SendInput Synthetisiert Tastenanschläge, Mausbewegungen und Schaltflächenklicks.
SetActiveWindow Aktiviert ein Fenster. Das Fenster muss an die Nachrichtenwarteschlange des aufrufenden Threads angefügt werden.
SetFocus Legt den Tastaturfokus auf das angegebene Fenster fest. Das Fenster muss an die Nachrichtenwarteschlange des aufrufenden Threads angefügt werden.
SetKeyboardState Kopiert ein 256-Byte-Array von Tastaturtastenzuständen in die Tastatureingabezustandstabelle des aufrufenden Threads. Dies ist die gleiche Tabelle, auf die auch die Funktionen GetKeyboardState und GetKeyState zugreifen. Änderungen, die an dieser Tabelle vorgenommen werden, wirken sich nicht auf die Tastatureingabe in einem anderen Thread aus.
ToAscii Übersetzt den angegebenen Code für virtuelle Tasten und den Tastaturzustand in das entsprechende Zeichen. Die Funktion übersetzt den Code mithilfe der Eingabesprache und des physischen Tastaturlayouts, das durch den Tastaturlayoutziehpunkt identifiziert wird.
Um ein Handle für das Tastaturlayout anzugeben, das zum Übersetzen des angegebenen Codes verwendet werden soll, verwenden Sie die ToAsciiEx-Funktion .
ToAsciiEx Übersetzt den angegebenen Code für virtuelle Tasten und den Tastaturzustand in das entsprechende Zeichen. Die Funktion übersetzt den Code mithilfe der Eingabesprache und des physischen Tastaturlayouts, das durch den Eingabegebietsschemabezeichner identifiziert wird.
ToUnicode Übersetzt den angegebenen Code für virtuelle Tasten und den Tastaturzustand in das entsprechende Unicode-Zeichen.Translates the specified virtual-key code and keyboard state to the corresponding Unicode character(en).
Verwenden Sie die ToUnicodeEx-Funktion , um ein Handle für das Tastaturlayout anzugeben, das zum Übersetzen des angegebenen Codes verwendet werden soll.
ToUnicodeEx Übersetzt den angegebenen Code für virtuelle Tasten und den Tastaturzustand in das entsprechende Unicode-Zeichen.Translates the specified virtual-key code and keyboard state to the corresponding Unicode character(en).
UnloadKeyboardLayout Entlädt einen Eingabegebietsschemabezeichner (früher als Tastaturlayout bezeichnet).
UnregisterHotKey Gibt einen hot key frei, der zuvor vom aufrufenden Thread registriert wurde.
VkKeyScanEx Übersetzt ein Zeichen in den entsprechenden Virtuellen Schlüsselcode und den Verschiebungszustand. Die Funktion übersetzt das Zeichen mithilfe der Eingabesprache und des physischen Tastaturlayouts, das durch den Eingabegebietsschemabezeichner identifiziert wird.

Die folgenden Funktionen sind veraltet.

Funktion BESCHREIBUNG
GetKBCodePage Ruft die aktuelle Codepage ab.
keybd_event Synthetisiert eine Tastenkombination. Das System kann eine solche synthetisierte Tasteneingabe verwenden, um eine WM_KEYUP - oder WM_KEYDOWN-Nachricht zu generieren. Der Interrupthandler des Tastaturtreibers ruft die keybd_event-Funktion auf.
VkKeyScan Übersetzt ein Zeichen in den entsprechenden Code der virtuellen Taste und den Umschaltzustand für die aktuelle Tastatur.

Nachrichten

Name BESCHREIBUNG
WM_GETHOTKEY Bestimmt den Hot key, der einem Fenster zugeordnet ist.
WM_SETHOTKEY Ordnet dem Fenster einen Hot Key zu. Wenn der Benutzer die Tastenkombination drückt, aktiviert das System das Fenster.

Benachrichtigungen

Name BESCHREIBUNG
WM_ACTIVATE Wird sowohl an das aktivierte als auch an das deaktivierte Fenster gesendet. Wenn die Fenster dieselbe Eingabewarteschlange verwenden, wird die Nachricht synchron gesendet, zuerst an die Fensterprozedur des Fensters auf oberster Ebene, das deaktiviert wird, und dann an die Fensterprozedur des fensters der obersten Ebene, das aktiviert wird. Wenn die Fenster unterschiedliche Eingabewarteschlangen verwenden, wird die Nachricht asynchron gesendet, sodass das Fenster sofort aktiviert wird.
WM_APPCOMMAND Benachrichtigt ein Fenster, dass der Benutzer ein Anwendungsbefehlsereignis generiert hat, z. B. indem er mit der Maus auf eine Anwendungsbefehlsschaltfläche klickt oder eine Anwendungsbefehlstaste auf der Tastatur eingibt.
WM_CHAR Wird in das Fenster mit dem Tastaturfokus gesendet, wenn eine WM_KEYDOWN Nachricht von der TranslateMessage-Funktion übersetzt wird. Die WM_CHAR Nachricht enthält den Zeichencode der taste, die gedrückt wurde.
WM_DEADCHAR Wird im Fenster mit dem Tastaturfokus veröffentlicht, wenn eine WM_KEYUP Nachricht von der TranslateMessage-Funktion übersetzt wird. WM_DEADCHAR gibt einen Zeichencode an, der von einem toten Schlüssel generiert wird. Ein toter Schlüssel ist ein Schlüssel, der ein Zeichen generiert, z. B. den Umlaut (Double-Dot), das mit einem anderen Zeichen kombiniert wird, um ein zusammengesetztes Zeichen zu bilden. Beispielsweise wird das Umlaut-O-Zeichen ( ) generiert, indem der tote Schlüssel für das Umlautzeichen eingegeben wird und dann die O-Taste eingegeben wird.
WM_HOTKEY Wird veröffentlicht, wenn der Benutzer eine von der RegisterHotKey-Funktion registrierte Heißtaste drückt. Die Nachricht wird oben in der Nachrichtenwarteschlange platziert, die dem Thread zugeordnet ist, der den Hot key registriert hat.
WM_KEYDOWN Wird im Fenster mit dem Tastaturfokus angezeigt, wenn eine Nichtsystemtaste gedrückt wird. Eine Nichtsystemtaste ist eine Taste, die gedrückt wird, wenn die ALT-TASTE nicht gedrückt wird.
WM_KEYUP Wird im Fenster mit dem Tastaturfokus angezeigt, wenn eine nicht systemfreie Taste freigegeben wird. Eine Nichtsystemtaste ist eine Taste, die gedrückt wird, wenn die ALT-TASTE nicht gedrückt wird, oder eine Tastaturtaste, die gedrückt wird, wenn ein Fenster den Tastaturfokus hat.
WM_KILLFOCUS Wird unmittelbar an ein Fenster gesendet, bevor es den Tastaturfokus verliert.
WM_SETFOCUS Wird an ein Fenster gesendet, nachdem es den Tastaturfokus erhalten hat.
WM_SYSDEADCHAR Wird mit dem Tastaturfokus an das Fenster gesendet, wenn eine WM_SYSKEYDOWN Nachricht von der TranslateMessage-Funktion übersetzt wird. WM_SYSDEADCHAR gibt den Zeichencode eines nicht beendeten Systemschlüssels an, d. h. eine tote Taste, die gedrückt wird, während die ALT-Taste gedrückt wird.
WM_SYSKEYDOWN Wird im Fenster mit dem Tastaturfokus angezeigt, wenn der Benutzer die Taste F10 drückt (die die Menüleiste aktiviert) oder die ALT-TASTE gedrückt hält und dann eine andere Taste drückt. Es tritt auch auf, wenn derzeit kein Fenster den Tastaturfokus hat. in diesem Fall wird die WM_SYSKEYDOWN Nachricht an das aktive Fenster gesendet. Das Fenster, das die Nachricht empfängt, kann zwischen diesen beiden Kontexten unterscheiden, indem der Kontextcode im lParam-Parameter überprüft wird.
WM_SYSKEYUP Wird im Fenster mit dem Tastaturfokus angezeigt, wenn der Benutzer eine Taste loslässt, die gedrückt wurde, während die ALT-TASTE gedrückt wurde. Es tritt auch auf, wenn derzeit kein Fenster den Tastaturfokus hat. in diesem Fall wird die WM_SYSKEYUP Nachricht an das aktive Fenster gesendet. Das Fenster, das die Nachricht empfängt, kann zwischen diesen beiden Kontexten unterscheiden, indem der Kontextcode im lParam-Parameter überprüft wird.
WM_UNICHAR Wird in das Fenster mit dem Tastaturfokus gesendet, wenn eine WM_KEYDOWN Nachricht von der TranslateMessage-Funktion übersetzt wird. Die WM_UNICHAR Nachricht enthält den Zeichencode der taste, die gedrückt wurde.

Strukturen

Name BESCHREIBUNG
HARDWAREINPUT Enthält Informationen zu einer simulierten Nachricht, die von einem anderen Eingabegerät als einer Tastatur oder Maus generiert wird.
EINGABE Enthält Informationen zum Synthetisieren von Eingabeereignissen wie Tastenanschlägen, Mausbewegungen und Mausklicks.
KEYBDINPUT Enthält Informationen zu einem simulierten Tastaturereignis.
LASTINPUTINFO Enthält den Zeitpunkt der letzten Eingabe.
MOUSEINPUT Enthält Informationen zu einem simulierten Mausereignis.

Konstanten

Name BESCHREIBUNG
Virtual-Key-Codes Die symbolischen Konstantennamen, Hexadezimalwerte und Maus- oder Tastaturäquivalente für die vom System verwendeten Codes für virtuelle Tasten. Die Codes werden in numerischer Reihenfolge aufgeführt.

Siehe auch