Der lParam -Parameter ein Tastenanschlag-Nachricht enthält zusätzliche Informationen über die Tastatureingabe, die die Nachricht generiert. Diese Informationen umfassen die Anzahl von Wiederholungen, der Scan-Code, der erweitert-Schlüssel-Flagge, die Kontext-Code, der zurück-Taste-Zustandsflag und Übergang-Zustandsflag. Die folgende Abbildung zeigt die Positionen der diese Flags und Werte in den lParam -parameter.
Eine Anwendung kann die folgenden Werte verwenden, die Tastenanschlag-Flags zu manipulieren.
Wert | Bedeutung |
---|---|
KF_ALTDOWN | Manipuliert die Alt Schlüssel Flagge, die angegeben werden, wenn die Alt-Taste gedrückt wird. |
KF_DLGMODE | Manipuliert das Dialogfeld Modus-Flag, das angibt, ob ein Dialogfeld aktiv ist. |
KF_EXTENDED | Manipuliert die erweiterte Schlüssel Flagge. |
KF_MENUMODE | Manipuliert das Menü Modus-Flag, das angibt, ob ein Menü aktiv ist. |
KF_REPEAT | Ändert die Anzahl von Wiederholungen. |
KF_UP | Manipuliert den Übergang Zustand-Markierungsfahne. |
Können Sie die Anzahl von Wiederholungen zu bestimmen, ob eine Tastenanschlag-Nachricht mehr als eine Tastenkombination darstellt. Das System erhöht die Anzahl, wenn die Tastatur WM_KEYDOWN oder WM_SYSKEYDOWN -Meldungen generiert schneller als eine Anwendung verarbeitet werden kann. Dies passiert oft, wenn der Benutzer nach unten eine wichtige lange genug, um die automatische Wiederholung Tastaturfunktion starten hält. Statt füllen der Systemwarteschlange mit die resultierenden Nachrichten-Taste nach unten, kombiniert das System den Nachrichten in einem einzigen Schlüssel unten Nachricht und erhöht die Anzahl von Wiederholungen. Loslassen einer Taste kann nicht die Funktion zum automatische wiederholen, starten Sie damit die Anzahl von Wiederholungen für WM_KEYUP und WM_SYSKEYUP Nachrichten immer auf 1 festgelegt ist.
Der Scancode ist der Wert, den die Tastatur-Hardware generiert, wenn der Benutzer eine Taste drückt. Es ist eine geräteabhängige-Wert, der die Taste gedrückt halten, im Gegensatz zu der Zeichen, dargestellt durch den Schlüssel identifiziert. Eine Anwendung in der Regel ignoriert Scancodes. Stattdessen verwendet es die geräteunabhängige virtuelle Tastencodes Tastenanschlag Nachrichten interpretieren.
Die erweitert-Schlüssel-Flag gibt an, ob eine zusätzliche Tasten der erweiterten Tastatur die Tastenanschlag-Nachricht stammt. Die erweiterten Tasten bestehen aus dem Alt und STRG-Taste auf der rechten Seite der Tastatur; die ins, del, Start, Ende, Seite nach oben, Seite nach unten und Pfeiltasten in den Clustern links neben dem Ziffernblock; die Num-Taste; die Taste Pause (STRG + Pause); die print Scrn-Taste; der Graben (/) und Schlüssel in der Zehnertastatur eingeben. Das erweitert-Schlüssel-Flag festgelegt ist, wenn der Schlüssel eine längere Schlüssel ist.
Der Kontext-Code gibt an, ob die Alt-Taste gedrückt wurde, während die Tastenanschlag-Meldung generiert wurde. Der Code ist 1, wenn die Alt-Taste gedrückt wurde, und 0, wenn es war.
Der vorherige Schlüssel-Zustandsflag gibt an, ob der Schlüssel, der die Tastenanschlag-Meldung generiert zuvor nach oben oder unten wurde. Es ist 1, wenn die Taste zuvor gedrückt wurde, und 0, wenn der Schlüssel vorher war. Sie können dieses Flag verwenden, Tastenanschlag durch automatische Wiederholung Tastaturfunktion generierte Nachrichten identifizieren. Dieses Flag ist für WM_KEYDOWN und WM_SYSKEYDOWN Tastenanschlag Nachrichten generiert durch die Funktion zum automatischen Wiederholen auf 1 festgelegt. Es wird immer auf 0 für WM_KEYUP und WM_SYSKEYUP Nachrichten festgelegt.
Der Übergangszustand Flag gibt an, ob Sie eine Taste drücken oder loslassen einer Taste die Tastenanschlag-Meldung generiert. Dieses Flag wird immer für WM_KEYDOWN und WM_SYSKEYDOWN -Meldungen auf 0 festgelegt; Es wird immer auf 1 für WM_KEYUP und WM_SYSKEYUP Nachrichten festgelegt.