WM_SYSKEYDOWN

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 

 

Parametry

nVirtKey
Wartość wParam. Określa kod klucza wirtualnego klawiszem naciśniętym.
lKeyData
Wartość fikcyjnymi. Określa licznik powtórzeń, skanowanie kodu, Flaga klucz rozszerzony, kontekście kodu, poprzedniego klucza Państwo bandery i Flaga stanu przejściowego, jak pokazano w poniższej tabeli.
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.

Zwraca wartości

Aplikacja powinna zwrócić zero, jeśli przetwarza tę wiadomość.

Akcja domyślna

Funkcja DefWindowProc bada dany klucz i generuje komunikat WM_SYSCOMMAND , jeśli klucz jest albo kartę lub wprowadź.

Uwagi

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.

Skrócone informacje

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.

Zobacz też

Przegląd danych wejściowych klawiatura, komunikaty wejściowe klawiatury, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYUP

Index