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
Feedback
Feedback senden und anzeigen für