Freigeben über


WM_SYSKEYDOWN Nachricht

Wird im Fenster mit dem Tastaturfokus angezeigt, 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.

#define WM_SYSKEYDOWN                   0x0104

Parameter

wParam

Der Virtuelle Schlüsselcode der taste, die gedrückt wird. Weitere Informationen finden Sie unter Virtual Key Codes.

lParam

Die Wiederholungsanzahl, der Scancode, das Flag mit erweiterter Schlüssel, der Kontextcode, das vorherige Schlüsselzustandsflag und das Flag "Übergangszustand", wie in der folgenden Tabelle gezeigt.

Bits Bedeutung
0-15 Die Wiederholungsanzahl für die aktuelle Nachricht. Der Wert gibt an, wie oft die Tastatureingabe automatisch ausgeführt wird, wenn der Benutzer die Taste gedrückt hält. Wenn die Tastatureingabe lang genug gehalten wird, werden mehrere Nachrichten gesendet. Die Wiederholungsanzahl ist jedoch nicht kumulativ.
16-23 Der Scancode. Der Wert hängt vom OEM ab.
24 Gibt an, ob es sich bei der Taste um eine erweiterte Taste handelt, z. B. die rechten ALT- und STRG-Tasten, die auf einer erweiterten Tastatur mit 101 oder 102 Tasten angezeigt werden. Der Wert ist 1, wenn es sich um einen erweiterten Schlüssel handelt. Andernfalls ist es 0.
25-28 Reserviert; nicht verwenden.
29 Der Kontextcode. 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 im aktiven Fenster gesendet wird, da kein Fenster den Tastaturfokus hat.
30 Der vorherige Schlüsselzustand. Der Wert ist 1, wenn der Schlüssel vor dem Senden der Nachricht ausgefallen ist, oder er ist 0, wenn der Schlüssel aktiviert ist.
31 Der Übergangszustand. Der Wert ist für eine WM_SYSKEYDOWN Nachricht immer 0.

Weitere Informationen finden Sie unter Tastatureingabe-Meldungsflags.

Rückgabewert

Eine Anwendung sollte null zurückgeben, wenn sie diese Nachricht verarbeitet.

Bemerkungen

Die DefWindowProc-Funktion untersucht den angegebenen Schlüssel und generiert eine WM_SYSCOMMAND Meldung, wenn der Schlüssel entweder TAB oder EINGABETASTE ist.

Wenn der Kontextcode null ist, kann die Nachricht an die TranslateAccelerator-Funktion übergeben werden, die sie so behandelt, als ob es sich um eine normale Schlüsselmeldung anstelle einer Zeichenschlüsselmeldung handelt. Dadurch können Tastenkombinationen mit dem aktiven Fenster verwendet werden, auch wenn das aktive Fenster nicht über den Tastaturfokus verfügt.

Aufgrund der automatischen Wiederholung können mehrere WM_SYSKEYDOWN Nachrichten auftreten, bevor eine WM_SYSKEYUP Nachricht gesendet wird. Der vorherige Schlüsselzustand (Bit 30) kann verwendet werden, um zu bestimmen, ob die WM_SYSKEYDOWN Meldung den ersten Abwärtsübergang oder einen wiederholten Abwärtsübergang angibt.

Für erweiterte Tastaturen mit 101 und 102 Tasten sind die rechten TASTEN ALT und STRG auf dem Standard Abschnitt der Tastatur, die TASTEN INS, ENTF, HOME, END, PAGE UP, PAGE DOWN und PFEIL in den Clustern links neben der Zehnertastatur sowie die Trenntasten (/) und DIE EINGABETASTE in der Zehnertastatur. Andere Tastaturen unterstützen möglicherweise das Bit mit erweiterter Taste im Parameter lParam .

Diese Nachricht wird auch gesendet, wenn der Benutzer die F10-Taste ohne die ALT-Taste drückt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winuser.h (windows.h einschließen)

Siehe auch