Udostępnij za pośrednictwem


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
Winuser.h (uwzględnij windows.h)

Zobacz też

referencyjne

DefWindowProc

GET_APPCOMMAND_LPARAM

GET_DEVICE_LPARAM

GET_KEYSTATE_LPARAM

ShellProc

WM_XBUTTONUP

WM_NCXBUTTONUP

koncepcyjne

danych wejściowych myszy