Wiadomość WM_SYSKEYUP jest księgowana aby oknie z fokusem klawiatury, gdy użytkownik zwalnia klucz, który został wciśnięty, kiedy został wciśnięty klawisz alt. On także wtedy, gdy żadne okno nie ma aktualnie fokusem klawiatury; w tym przypadku WM_SYSKEYUP 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_SYSKEYUP 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. Liczba powtórzeń jest zawsze jeden dla wiadomości WM_SYSKEYUP. |
| 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 klucz jest uwalniane; 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ść jest zawsze 1 dla wiadomości WM_SYSKEYUP. |
| 31 | Określa stan przejścia. Wartość jest zawsze 1 dla wiadomości WM_SYSKEYUP. |
Aplikacja powinna zwrócić zero, jeśli przetwarza tę wiadomość.
Funkcja DefWindowProc wysyła komunikat WM_SYSCOMMAND aby oknie najwyższego poziomu, jeśli klawisz f10 lub alt został wydany. Parametr wParam wiadomości jest ustawiony na SC_KEYMENU.
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.
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 lKeyData.
Kompilacyjnym wzmocnionej 102 klawisze klawiatury klawisza prawy alt jest traktowane jak ctrl + klawisz alt. W poniższej tabeli przedstawiono sekwencję wiadomości, które powstają, gdy użytkownik naciska i zwalnia klucz ten.
| Komunikat | Kod klucza wirtualnej |
|---|---|
| WM_KEYDOWN | VK_CONTROL |
| WM_KEYDOWN | VK_MENU |
| WM_KEYUP | VK_CONTROL |
| WM_SYSKEYUP | VK_MENU |
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_SYSKEYDOWN