WM_SYSKEYUP

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 

 

Parameter

nVirtKey
Der wParam-Wert. Den virtuelle Tastencode des freigegeben Schlüssels gibt.
lKeyData
Wert des lParam. Gibt die Anzahl von Wiederholungen, Scan-Code, verlängert-Schlüssel Flagge, Kontext Code, vorherige Schlüssel-Flagge, und Übergangszustand Flag, wie in der folgenden Tabelle gezeigt.
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.

Rückgabewerte

Eine Anwendung sollte 0 zurückgeben, wenn es diese Nachricht verarbeitet.

Standard-Aktion

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.

Bemerkungen

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

QuickInfo

&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.

Siehe auch

Übersicht über die Tastatur-Eingabe, Keyboard Input Nachrichten, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYDOWN

Index