Wiadomość WM_SYSKEYDOWN jest księgowana aby oknie z fokusem klawiatury, gdy użytkownik naciśnie klawisz F10, (która powoduje uaktywnienie paska menu) lub posiada klawisz alt klucza, a następnie naciśnie inny klawisz. On także wtedy, gdy żadne okno nie ma aktualnie fokusem klawiatury; w tym przypadku WM_SYSKEYDOWN wiadomość jest wysyłana do aktywnego okna. Okno, w którym odbiera wiadomości można rozróżnienia tych dwóch kontekstach przez sprawdzanie kodu kontekstu w parametrze lKeyData.
WM_SYSKEYDOWN nVirtKey = wParam (int); / / klucza wirtualnego kod lKeyData = fikcyjnymi; / / dane kluczowe
| Wartość | Opis |
|---|---|
| 0–15 | Określa Powtórz ilość dla bieżącej wiadomości. Wartość jest liczba powtórzeń naciśnięć klawiszy jest automatycznie powtórzony od użytkownika, przytrzymując wciśnięty klawisz. Jeśli klawiszy są przechowywane wystarczająco długi, wiele wiadomości są wysyłane. Jednakże liczba powtórzeń nie jest kumulatywne. |
| 16-23 | Określa kod skanowania. Wartość zależy od producenta sprzętu oryginalnego (OEM). |
| 24 | Określa, czy klucz jest kluczem rozszerzonych, takich jak alt po prawej stronie i klawisze ctrl, pojawiające się na rozszerzonych lub 102-klawiatura 101 klawiszy. Wartością jest 1, jeśli jest klucz rozszerzony; w przeciwnym wypadku jest 0. |
| 25-28 | Zarezerwowane; nie należy używać. |
| 29 | Określa kod kontekstu. Wartością jest 1, jeśli klawisz ALT jest wyłączony, gdy zostanie naciśnięty klawisz; jest 0, jeśli wiadomość WM_SYSKEYDOWN jest księgowana do aktywnego okna, ponieważ żadne okno nie ma fokusu klawiatury. |
| 30 | Określa poprzedniego stanu klucza. Wartością jest 1, jeśli klucz jest wciśnięty, zanim wiadomość jest wysyłana, lub jest 0, jeśli klucz jest. |
| 31 | Określa stan przejścia. Wartość jest zawsze 0 dla wiadomości WM_SYSKEYDOWN. |
Aplikacja powinna zwrócić zero, jeśli przetwarza tę wiadomość.
Funkcja DefWindowProc bada dany klucz i generuje komunikat WM_SYSCOMMAND , jeśli klucz jest albo kartę lub wprowadź.
Gdy kod kontekście wynosi zero, wiadomości mogą być przekazane do funkcji TranslateAccelerator , który obsłuży go tak, jakby była normalnej komunikat klucza zamiast wiadomości znakowy klucz. Dzięki temu klawisze przyśpieszające stosowaną w aktywnym oknie, nawet jeśli aktywne okno nie ma fokusu klawiatury.
Ze względu na automatyczne powtarzanie więcej niż jedna wiadomość WM_SYSKEYDOWN może wystąpić, zanim zostanie wysłany komunikat WM_SYSKEYUP. Poprzedni stan kluczowych (bit 30) może służyć do określenia, czy komunikat WM_SYSKEYDOWN wskazuje przejście w dół pierwszej lub powtarzających się w okresie przejściowym.
Dla wzmocnionej 101 i 102-klucza klawiatur rozszerzone klucze są prawy alt i ctrl kluczy w głównej części klawiatury; ins, del, domu, koniec, page up, page down i klawiszy strzałek w klastrach po lewej stronie numerycznej; i dzielenia (/) i wprowadź klucze w numerycznej. Pozostałe klawisze mogą obsługiwać bitowy klucz rozszerzony w parametrze fikcyjnymi.
Ten komunikat jest wysłanie zawsze, gdy użytkownik naciśnie klawisz F10 klucza bez klawisz ALT.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w pliku winuser.h.
Przegląd danych wejściowych klawiatura, komunikaty wejściowe klawiatury, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYUP