Die WM_SYSKEYUP-Nachricht wird an das Fenster mit dem Tastaturfokus gebucht, wenn der Benutzer eine Taste loslässt, die gedrückt wurde, während die Alt-Taste gedrückt wurde. Es tritt auch auf, wenn kein Fenster derzeit über den Tastaturfokus besitzt; in diesem Fall wird die WM_SYSKEYUP-Meldung an das aktive Fenster gesendet. Das Fenster, das die Nachricht empfängt, kann diese beiden Kontexte durch Überprüfen des Kontext-Codes im lKeyData -Parameter unterscheiden.
WM_SYSKEYUP nVirtKey = (Int) wParam; / / virtual-Key code lKeyData = lParam; / / Eckdaten
| Wert | Beschreibung |
|---|---|
| 0–15 | Gibt die Anzahl von Wiederholungen für die aktuelle Meldung. Der Wert ist die Anzahl der Male, die der Tastenanschlag Auto-wiederholt als einer der Benutzer die Taste gedrückt ist. Die Anzahl von Wiederholungen ist immer für eine WM_SYSKEYUP-Nachricht. |
| 16.-23 | Gibt den Scancode. Der Wert hängt von der Original Equipment Manufacturer (OEM). |
| 24 | Gibt an, ob der Schlüssel ist eine erweiterte Schlüssel, wie die rechten Alt und STRG-Tasten, die auf eine verbesserte 101 oder 102-Tasten-Tastatur angezeigt werden. Der Wert ist 1, wenn es eine längere Schlüssel ist; Andernfalls ist der Wert 0. |
| Blei | Vorbehalten; Verwenden Sie keine. |
| 29 | Gibt den Kontext Code. Der Wert ist 1, wenn die ALT-Taste gedrückt ist, während die Taste losgelassen wird; Es ist 0, wenn die WM_SYSKEYDOWN-Meldung an das aktive Fenster gebucht wird, weil kein Fenster den Tastaturfokus besitzt. |
| 30 | Gibt den vorherigen Schlüssel Zustand. Ist der Wert immer 1 für eine WM_SYSKEYUP-Nachricht. |
| 31 | Gibt den Übergangszustand. Ist der Wert immer 1 für eine WM_SYSKEYUP-Nachricht. |
Eine Anwendung sollte 0 zurückgeben, wenn es diese Nachricht verarbeitet.
Die DefWindowProc -Funktion sendet eine WM_SYSCOMMAND -Meldung an Fenster der obersten Ebene, wenn die Taste f10 oder Alt-Taste freigegeben wurde. Der wParam -Parameter der Nachricht ist auf SC_KEYMENU festgelegt.
Wenn der Kontext-Code 0 (null) ist, kann die Nachricht der TranslateAccelerator -Funktion, die es behandelt, als wäre es eine normale Tastenmeldung statt einer Zeichentaste Nachricht übergeben werden. Auf diese Weise können Zugriffstasten im aktiven Fenster verwendet werden, auch wenn das aktive Fenster nicht über den Tastaturfokus verfügt.
Für erweiterte 101 und 102-Tasten-Tastaturen sind erweiterte Tasten der rechten Alt und STRG-Tasten auf den Hauptteil der Tastatur; die ins, del, Start, Ende, Seite nach oben, Seite nach unten und Pfeiltasten in den Clustern links neben dem Ziffernblock; der Graben (/) und Schlüssel in der Zehnertastatur eingeben. Anderen Tastaturen unterstützen möglicherweise das erweitert-Schlüssel Bit im lKeyData -parameter.
Für nicht-US erweiterte 102 Tasten Tastaturen erfolgt die Rechte Alt-Taste als Strg + Alt-Taste. Die folgende Tabelle zeigt die Reihenfolge der Nachrichten, die sich ergeben, wenn der Benutzer drückt und dieser Schlüssel loslässt.
| Nachricht | Virtual-Key code |
|---|---|
| WM_KEYDOWN | VK_CONTROL |
| WM_KEYDOWN | VK_MENU |
| WM_KEYUP | VK_CONTROL |
| WM_SYSKEYUP | VK_MENU |
&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Übersicht über die Tastatur-Eingabe, Keyboard Input Nachrichten, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYDOWN