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 zur Tastatureingabe | Erläutert die Tastatureingabe. |
Verwenden von Tastatureingaben | Behandelt Aufgaben, die der Tastatureingabe zugeordnet sind. |
Tastatureingabereferenz | Enthält den API-Verweis. |
Funktionen
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 Drücken von Tasten. Wenn die Eingabe aktiviert ist, empfängt das Fenster alle Eingaben. |
GetActiveWindow- | Ruft das Fensterhandle an 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 GetAsyncKeyStategedrückt wurde. |
GetFocus- | Ruft das Handle für 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 Eingabegebietsschema-IDs (früher als Tastaturlayoutziehpunkte 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 Eingabegebietsschemabezeichners (früher als Tastaturlayout bezeichnet) ab. |
GetKeyboardState- | Kopiert den Status der 256 virtuellen Schlüssel in den angegebenen Puffer. |
GetKeyNameText- | Ruft eine Zeichenfolge ab, die den Namen eines Schlüssels darstellt. |
GetKeyState- | Ruft den 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 ein- oder ausgeschaltet). |
GetLastInputInfo- | Ruft die Uhrzeit 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 Eingabegebietsschema-IDs gleichzeitig geladen werden, aber jeweils ist nur ein Eingabegebietsschema aktiv. Das Laden mehrerer Eingabegebietsschema-IDs ermöglicht es, schnell zwischen diesen zu wechseln. |
MapVirtualKey- | Übersetzt (ordnet) einen virtuellen Schlüsselcode in einen Scancode oder Zeichenwert um oder übersetzt einen Scancode in einen virtuellen Schlüsselcode. Um ein Handle für das Tastaturlayout anzugeben, das zum Übersetzen des angegebenen Codes verwendet werden soll, verwenden Sie die MapVirtualKeyEx--Funktion. |
MapVirtualKeyEx- | Ordnet einen virtuellen Schlüsselcode einem Scancode oder Zeichenwert zu oder übersetzt einen Scancode in einen virtuellen Schlüsselcode. Die Funktion übersetzt die Codes mithilfe der Eingabesprache und eines Eingabegebietsschemabezeichners. |
OemKeyScan- | Ordnet OEMASCII-Codes 0 bis 0x0FF in die OEM-Scancodes und Schichtzustände zu. Die Funktion stellt Informationen bereit, mit denen ein Programm OEM-Text an ein anderes Programm senden kann, indem die Tastatureingabe simuliert wird. |
RegisterHotKey- | Definiert einen systemweiten Hot key. |
SendInput- | Synthetisiert Tastenanschläge, Mausbewegungen und Tastenklicks. |
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 die funktionen GetKeyboardState und GetKeyState zugegriffen wird. Änderungen an dieser Tabelle 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 oder die entsprechenden Zeichen. Die Funktion übersetzt den Code mithilfe der Eingabesprache und des physischen Tastaturlayouts, das durch den Tastaturlayoutpunkt 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 oder die entsprechenden Zeichen. Die Funktion übersetzt den Code mithilfe der Eingabesprache und des physischen Tastaturlayouts, das durch den Eingabegebietsschemabezeichner identifiziert wird. |
ToUnicode- | Übersetzt den angegebenen Code und den Tastaturzustand der virtuellen Taste in das entsprechende Unicode-Zeichen oder Zeichen. Um ein Handle für das Tastaturlayout anzugeben, das zum Übersetzen des angegebenen Codes verwendet werden soll, verwenden Sie die ToUnicodeEx--Funktion. |
ToUnicodeEx- | Übersetzt den angegebenen Code und den Tastaturzustand der virtuellen Taste in das entsprechende Unicode-Zeichen oder Zeichen. |
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 Schichtzustand. 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 Codeseite ab. |
keybd_event | Synthetisiert einen Tastenanschlag. Das System kann einen solchen synthetisierten Tastenanschlag verwenden, um eine WM_KEYUP oder WM_KEYDOWN Nachricht zu generieren. Der Unterbrechungshandler des Tastaturtreibers ruft die keybd_event-Funktion auf. |
VkKeyScan- | Übersetzt ein Zeichen in den entsprechenden Code für virtuelle Tasten und den Schichtzustand für die aktuelle Tastatur. |
Meldungen
Name | Beschreibung |
---|---|
WM_GETHOTKEY | Bestimmt den Hot key, der einem Fenster zugeordnet ist. |
WM_SETHOTKEY | Ordnet dem Fenster eine Abkürzungstaste zu. Wenn der Benutzer die Hot-Taste drückt, aktiviert das System das Fenster. |
Benachrichtigungen
Name | Beschreibung |
---|---|
WM_ACTIVATE | Wird sowohl an das aktivierte Fenster 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 auf oberster 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. durch Klicken auf eine Anwendungsbefehlsschaltfläche mithilfe der Maus oder Eingeben einer Anwendungsbefehlstaste auf der Tastatur. |
WM_CHAR | Im Fenster mit dem Tastaturfokus gepostet, 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 | Im Fenster mit dem Tastaturfokus gepostet, wenn eine WM_KEYUP Nachricht von der funktion TranslateMessage übersetzt wird.
WM_DEADCHAR gibt einen Zeichencode an, der von einem inaktiven Schlüssel generiert wird. Bei einem inaktiven Schlüssel handelt es sich um einen Schlüssel, der ein Zeichen generiert, z. B. den Umlaut (Double-Dot), der mit einem anderen Zeichen kombiniert wird, um ein zusammengesetztes Zeichen zu bilden. Beispielsweise wird das Umlaut-O-Zeichen ( ) generiert, indem der inaktive Schlüssel für das Umlautzeichen eingegeben und dann die O-Taste eingegeben wird. |
WM_HOTKEY | Veröffentlicht, wenn der Benutzer eine Von der funktion RegisterHotKey registrierte Hot Key drückt. Die Nachricht wird oben in der Nachrichtenwarteschlange platziert, die dem Thread zugeordnet ist, der den Hot key registriert hat. |
WM_KEYDOWN | Im Fenster mit dem Tastaturfokus gepostet, 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 | Im Fenster mit dem Tastaturfokus gepostet, wenn eine Nichtsystemtaste losgelassen 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 sofort an ein Fenster gesendet, bevor der Tastaturfokus verloren geht. |
WM_SETFOCUS | Wird an ein Fenster gesendet, nachdem er den Tastaturfokus erhalten hat. |
WM_SYSDEADCHAR | Wird an das Fenster mit dem Tastaturfokus gesendet, wenn eine WM_SYSKEYDOWN Nachricht von der TranslateMessage--Funktion übersetzt wird.
WM_SYSDEADCHAR gibt den Zeichencode einer inaktiven Systemtaste an, d. h. eine inaktive Taste, die gedrückt wird, während Sie die ALT-TASTE gedrückt halten. |
WM_SYSKEYDOWN | Gepostet in das Fenster mit dem Tastaturfokus, wenn der Benutzer die F10-TASTE drückt (wodurch die Menüleiste aktiviert wird) 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 | Im Fenster mit dem Tastaturfokus gepostet, 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 | Im Fenster mit dem Tastaturfokus gepostet, 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. |
INPUT- | Enthält Informationen zum Synthesisieren von Eingabeereignissen wie Tastaturanschlägen, Mausbewegungen und Mausklicks. |
KEYBDINPUT- | Enthält Informationen zu einem simulierten Tastaturereignis. |
LASTINPUTINFO- | Enthält die Uhrzeit der letzten Eingabe. |
MOUSEINPUT- | Enthält Informationen zu einem simulierten Mausereignis. |
Konstanten
Name | Beschreibung |
---|---|
Virtual-Key Codes | Die symbolischen Konstantennamen, Hexadezimalwerte und Maus- oder Tastaturentsprechungen für die vom System verwendeten virtuellen Tastencodes. Die Codes werden in numerischer Reihenfolge aufgeführt. |