komunikat WM_APPCOMMAND
Powiadamia okno, że użytkownik wygenerował zdarzenie polecenia aplikacji, na przykład klikając przycisk polecenia aplikacji przy użyciu myszy lub wpisując polecenia aplikacji na klawiaturze.
#define WM_APPCOMMAND 0x0319
-
wParam
-
Uchwyt do okna, w którym użytkownik kliknął przycisk lub nacisnął. Może to być okno podrzędne okna odbierającego komunikat. Aby uzyskać więcej informacji na temat przetwarzania tego komunikatu, zobacz sekcję Uwagi.
-
lParam
-
Użyj następującego kodu, aby uzyskać informacje zawarte w parametrze lParam.
cmd = GET_APPCOMMAND_LPARAM(lParam); uDevice = GET_DEVICE_LPARAM(lParam); dwKeys = GET_KEYSTATE_LPARAM(lParam);
Polecenie aplikacji jest cmd, które mogą być jedną z następujących wartości.
Wartość Znaczenie - APPCOMMAND_BASS_BOOST
- 20
Włącz i wyłącz impuls basowy. - APPCOMMAND_BASS_DOWN
- 19
Zmniejsz bas. - APPCOMMAND_BASS_UP
- 21
Zwiększ bas. - APPCOMMAND_BROWSER_BACKWARD
- 1
Przejdź do tyłu. - APPCOMMAND_BROWSER_FAVORITES
- 6
Otwórz ulubione. - APPCOMMAND_BROWSER_FORWARD
- 2
Przejdź do przodu. - APPCOMMAND_BROWSER_HOME
- 7
Przejdź do strony głównej. - APPCOMMAND_BROWSER_REFRESH
- 3
Odśwież stronę. - APPCOMMAND_BROWSER_SEARCH
- 5
Otwórz wyszukiwanie. - APPCOMMAND_BROWSER_STOP
- 4
Zatrzymaj pobieranie. - APPCOMMAND_CLOSE
- 31
Zamknij okno (a nie aplikację). - APPCOMMAND_COPY
- 36
Skopiuj zaznaczenie. - APPCOMMAND_CORRECTION_LIST
- 45
Wyświetla listę poprawek, gdy wyraz jest niepoprawnie identyfikowany podczas wprowadzania mowy. - APPCOMMAND_CUT
- 37
Wytnij zaznaczenie. - APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
- 43
Przełącza się między dwoma trybami wprowadzania mowy: dyktowaniem i poleceniem/kontrolą (dając polecenia aplikacji lub dostęp do menu). - APPCOMMAND_FIND
- 28
Otwórz okno dialogowe znajdowanie . - APPCOMMAND_FORWARD_MAIL
- 40
Prześlij dalej wiadomość e-mail. - APPCOMMAND_HELP
- 27
Otwórz okno dialogowe Pomoc. - APPCOMMAND_LAUNCH_APP1
- 17
Uruchom aplikację App1. - APPCOMMAND_LAUNCH_APP2
- 18
Uruchom aplikację App2. - APPCOMMAND_LAUNCH_MAIL
- 15
Otwórz pocztę. - APPCOMMAND_LAUNCH_MEDIA_SELECT
- 16
Przejdź do pozycji Multimedia Wybierz tryb. - APPCOMMAND_MEDIA_CHANNEL_DOWN
- 52
Dekrementuj wartość kanału, na przykład dla telewizora lub tunera radiowego. - APPCOMMAND_MEDIA_CHANNEL_UP
- 51
Zwiększ wartość kanału, na przykład dla telewizora lub tunera radiowego. - APPCOMMAND_MEDIA_FAST_FORWARD
- 49
Zwiększ szybkość odtwarzania strumienia. Można to zaimplementować na wiele sposobów, na przykład przy użyciu stałej prędkości lub przełączania przez serię rosnących prędkości. - APPCOMMAND_MEDIA_NEXTTRACK
- 11
Przejdź do następnego toru. - APPCOMMAND_MEDIA_PAUSE
- 47
Pauza. Jeśli została już wstrzymana, nie podejmij dalszych działań. Jest to bezpośrednie polecenie PAUSE, które nie ma stanu. Jeśli istnieją dyskretne przyciski Odtwarzania i Wstrzymywania, aplikacje powinny podjąć działania na tym poleceniu, a także APPCOMMAND_MEDIA_PLAY_PAUSE. - APPCOMMAND_MEDIA_PLAY
- 46
Zacznij grać na bieżącej pozycji. Jeśli został już wstrzymany, zostanie wznowiony. Jest to bezpośrednie polecenie PLAY, które nie ma stanu. Jeśli istnieją dyskretne play i Wstrzymaj przyciski, aplikacje powinny podjąć działania na tym poleceniu, a także APPCOMMAND_MEDIA_PLAY_PAUSE. - APPCOMMAND_MEDIA_PLAY_PAUSE
- 14
Odtwarzanie lub wstrzymywanie odtwarzania. Jeśli istnieją dyskretne play i Wstrzymaj przyciski, aplikacje powinny podjąć działania na tym poleceniu, a także APPCOMMAND_MEDIA_PLAY i APPCOMMAND_MEDIA_PAUSE. - APPCOMMAND_MEDIA_PREVIOUSTRACK
- 12
Przejdź do poprzedniego utworu. - APPCOMMAND_MEDIA_RECORD
- 48
Rozpocznij nagrywanie bieżącego strumienia. - APPCOMMAND_MEDIA_REWIND
- 50
Przejdź do tyłu w strumieniu z większą szybkością. Można to zaimplementować na wiele sposobów, na przykład przy użyciu stałej prędkości lub przełączania przez serię rosnących prędkości. - APPCOMMAND_MEDIA_STOP
- 13
Zatrzymaj odtwarzanie. - APPCOMMAND_MIC_ON_OFF_TOGGLE
- 44
Przełącz mikrofon. - APPCOMMAND_MICROPHONE_VOLUME_DOWN
- 25
Zmniejsz głośność mikrofonu. - APPCOMMAND_MICROPHONE_VOLUME_MUTE
- 24
Wycisz mikrofon. - APPCOMMAND_MICROPHONE_VOLUME_UP
- 26
Zwiększ głośność mikrofonu. - APPCOMMAND_NEW
- 29
Utwórz nowe okno. - APPCOMMAND_OPEN
- 30
Otwórz okno. - APPCOMMAND_PASTE
- 38
Wklejać - APPCOMMAND_PRINT
- 33
Drukuj bieżący dokument. - APPCOMMAND_REDO
- 35
Wykonaj ponownie ostatnią akcję. - APPCOMMAND_REPLY_TO_MAIL
- 39
Odpowiedz na wiadomość e-mail. - APPCOMMAND_SAVE
- 32
Zapisz bieżący dokument. - APPCOMMAND_SEND_MAIL
- 41
Wyślij wiadomość e-mail. - APPCOMMAND_SPELL_CHECK
- 42
Zainicjuj sprawdzanie pisowni. - APPCOMMAND_TREBLE_DOWN
- 22
Zmniejsz wartość potrójną. - APPCOMMAND_TREBLE_UP
- 23
Zwiększ wartość potrójną. - APPCOMMAND_UNDO
- 34
Cofnij ostatnią akcję. - APPCOMMAND_VOLUME_DOWN
- 9
Obniż wolumin. - APPCOMMAND_VOLUME_MUTE
- 8
Wycisz wolumin. - APPCOMMAND_VOLUME_UP
- 10
Podnieś wolumin. Składnik uDevice wskazuje urządzenie wejściowe, które wygenerowało zdarzenie wejściowe i może być jedną z następujących wartości.
Wartość Znaczenie - FAPPCOMMAND_KEY
- 0
Użytkownik nacisnął. - FAPPCOMMAND_MOUSE
- 0x8000
Użytkownik kliknął przycisk myszy. - FAPPCOMMAND_OEM
- 0x1000
Niezidentyfikowane źródło sprzętu wygenerowało zdarzenie. Może to być zdarzenie myszy lub klawiatury. Składnik dwKeys wskazuje, czy różne klucze wirtualne nie działają i mogą być co najmniej jedną z następujących wartości.
Wartość Znaczenie - MK_CONTROL
- 0x0008
CTRL nie działa. - MK_LBUTTON
- 0x0001
Lewy przycisk myszy jest wyłączony. - MK_MBUTTON
- 0x0010
Środkowy przycisk myszy jest wyłączony. - MK_RBUTTON
- 0x0002
Prawy przycisk myszy jest wyłączony. - MK_SHIFT
- 0x0004
SHIFT jest wyłączony. - MK_XBUTTON1
- 0x0020
XBUTTON1 nie działa. - MK_XBUTTON2
- 0x0040
XBUTTON2 nie działa.
Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić true. Aby uzyskać więcej informacji na temat przetwarzania wartości zwracanej, zobacz sekcję Uwagi.
DefWindowProc generuje komunikat WM_APPCOMMAND podczas przetwarzania komunikatu WM_XBUTTONUP lub WM_NCXBUTTONUP albo gdy użytkownik wpisze klucz polecenia aplikacji.
Jeśli okno podrzędne nie przetwarza tego komunikatu, a zamiast tego wywołuje DefWindowProc, DefWindowProc wyśle komunikat do okna nadrzędnego. Jeśli okno najwyższego poziomu nie przetwarza tego komunikatu i zamiast tego wywołuje DefWindowProc, DefWindowProc wywoła hak powłoki z kodem zaczepienia równym HSHELL_APPCOMMAND.
Aby uzyskać współrzędne kursora, jeśli komunikat został wygenerowany przez kliknięcie myszą, aplikacja może wywołać GetMessagePos. Aplikacja może sprawdzić, czy komunikat został wygenerowany przez mysz, sprawdzając, czy lParam zawiera FAPPCOMMAND_MOUSE.
W przeciwieństwie do innych komunikatów systemu Windows aplikacja powinna zwrócić true z tego komunikatu, jeśli go przetworzy. Pozwoli to na oprogramowanie, które symuluje ten komunikat w systemach Windows starszych niż Windows 2000, aby określić, czy procedura okna przetworzyła komunikat lub o nazwie DefWindowProc go przetworzyć.
Wymaganie | Wartość |
---|---|
Minimalny obsługiwany klient |
Windows 2000 Professional [tylko aplikacje klasyczne] |
Minimalny obsługiwany serwer |
Windows 2000 Server [tylko aplikacje klasyczne] |
Nagłówek |
|
-
referencyjne
-
koncepcyjne
-
danych wejściowych myszy