Die WM_SYSKEYDOWN-Meldung wird an das Fenster mit dem Tastaturfokus gebucht, wenn der Benutzer die Taste F10 drückt (wodurch die Menüleiste aktiviert wird) oder hält sich die Alt-Taste und dann eine andere Taste drückt. Es tritt auch auf, wenn kein Fenster derzeit über den Tastaturfokus besitzt; in diesem Fall wird die WM_SYSKEYDOWN-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_SYSKEYDOWN 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. Wenn die Tastatureingabe lang genug gehalten wird, sind mehrere Nachrichten gesendet. Allerdings ist die Anzahl von Wiederholungen nicht kumulativ. |
| 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 gedrückt 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. Der Wert ist 1, wenn die Taste gedrückt ist, bevor die Nachricht gesendet wird, oder es 0, ist wenn der Schlüssel bis. |
| 31 | Gibt den Übergangszustand. Der Wert ist immer 0 für eine Nachricht WM_SYSKEYDOWN. |
Eine Anwendung sollte 0 zurückgeben, wenn es diese Nachricht verarbeitet.
Die DefWindowProc -Funktion den angegebenen Schlüssel überprüft und eine WM_SYSCOMMAND -Meldung generiert, wenn der Schlüssel entweder Registerkarte oder eingeben.
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.
Durch automatisches wiederholen kann mehr als eine Nachricht WM_SYSKEYDOWN eintreten, bevor eine WM_SYSKEYUP-Nachricht gesendet wird. Der vorherige Schlüssel Zustand (Bit 30) kann verwendet werden, um festzustellen, ob die Nachricht WM_SYSKEYDOWN, den ersten Down-Übergang oder einen wiederholten unten Übergang angibt.
Erweiterte Schlüssel sind für erweiterte 101 und 102-Tasten-Tastaturen die recht 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 Bit erweitert-Schlüssel in den lParam -parameter.
Diese Meldung wird auch gesendet, wenn der Benutzer die F10 Schlüssel ohne die ALT-Taste drückt.
&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_SYSKEYUP