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
Parametry
-
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.
Wartość zwracana
Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić true. Aby uzyskać więcej informacji na temat przetwarzania wartości zwracanej, zobacz sekcję Uwagi.
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ć.
Wymagania
Wymaganie | Wartość |
---|---|
Minimalny obsługiwany klient |
Windows 2000 Professional [tylko aplikacje klasyczne] |
Minimalny obsługiwany serwer |
Windows 2000 Server [tylko aplikacje klasyczne] |
Nagłówek |
|
Zobacz też
-
referencyjne
-
koncepcyjne
-
danych wejściowych myszy