Mensagem WM_APPCOMMAND

Notifica uma janela de que o usuário gerou um evento de comando do aplicativo, por exemplo, clicando em um botão de comando do aplicativo usando o mouse ou digitando uma tecla de comando do aplicativo no teclado.

#define WM_APPCOMMAND                   0x0319

Parâmetros

wParam

Um identificador para a janela na qual o usuário clicou no botão ou pressionou a tecla. Essa janela pode ser uma janela filho da janela que recebe a mensagem. Para obter mais informações sobre como processar essa mensagem, consulte a seção Comentários.

lParam

Use o código a seguir para obter as informações contidas no parâmetro lParam.

cmd  = GET_APPCOMMAND_LPARAM(lParam);

uDevice = GET_DEVICE_LPARAM(lParam);

dwKeys = GET_KEYSTATE_LPARAM(lParam);

O comando do aplicativo é cmd, que pode ter um dos valores a seguir.

Valor Significado
APPCOMMAND_BASS_BOOST
20
Ativa e desativa o aumento do baixo.
APPCOMMAND_BASS_DOWN
19
Diminui o baixo.
APPCOMMAND_BASS_UP
21
Aumenta o baixo.
APPCOMMAND_BROWSER_BACKWARD
1
Retrocede a navegação.
APPCOMMAND_BROWSER_FAVORITES
6
Abre os favoritos.
APPCOMMAND_BROWSER_FORWARD
2
Avança a navegação.
APPCOMMAND_BROWSER_HOME
7
Navega até a página inicial.
APPCOMMAND_BROWSER_REFRESH
3
Atualiza a página.
APPCOMMAND_BROWSER_SEARCH
5
Abre a pesquisa.
APPCOMMAND_BROWSER_STOP
4
Interrompe o download.
APPCOMMAND_CLOSE
31
Fecha a janela (não o aplicativo).
APPCOMMAND_COPY
36
Copia a seleção.
APPCOMMAND_CORRECTION_LIST
45
Apresenta a lista de correção quando uma palavra é identificada incorretamente durante a entrada de fala.
APPCOMMAND_CUT
37
Recorta a seleção.
APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
43
Alterna entre dois modos de entrada de fala: ditado e comando/controle (dar comandos a um aplicativo ou acessar menus).
APPCOMMAND_FIND
28
Abre a caixa de diálogo Localizar.
APPCOMMAND_FORWARD_MAIL
40
Encaminha uma mensagem de email.
APPCOMMAND_HELP
27
Abre a caixa de diálogo Ajuda.
APPCOMMAND_LAUNCH_APP1
17
Inicia o App1.
APPCOMMAND_LAUNCH_APP2
18
Inicia o App2.
APPCOMMAND_LAUNCH_MAIL
15
Abre o email.
APPCOMMAND_LAUNCH_MEDIA_SELECT
16
Vai para o modo Selecionar Mídia.
APPCOMMAND_MEDIA_CHANNEL_DOWN
52
Decrementa o valor do canal, por exemplo, para um sintonizador de TV ou de rádio.
APPCOMMAND_MEDIA_CHANNEL_UP
51
Incrementa o valor do canal, por exemplo, para um sintonizador de TV ou de rádio.
APPCOMMAND_MEDIA_FAST_FORWARD
49
Aumenta a velocidade da reprodução do fluxo. Isso pode ser implementado de várias maneiras, por exemplo, usando uma velocidade fixa ou alternando por uma série de velocidades crescentes.
APPCOMMAND_MEDIA_NEXTTRACK
11
Vai para a próxima faixa.
APPCOMMAND_MEDIA_PAUSE
47
Pausa a mídia. Se a mídia já estiver em pausa, não realiza mais nenhuma ação. Esse é um comando PAUSE direto que não tem estado. Se houver botões discretos Reproduzir e Pausar, os aplicativos deverão executar uma ação nesse comando, bem como em APPCOMMAND_MEDIA_PLAY_PAUSE.
APPCOMMAND_MEDIA_PLAY
46
Inicia a reprodução na posição atual. Se já estiver em pausa, ela será retomada. Esse é um comando PLAY direto que não tem estado. Se houver botões discretos Reproduzir e Pausar, os aplicativos deverão executar uma ação nesse comando, bem como em APPCOMMAND_MEDIA_PLAY_PAUSE.
APPCOMMAND_MEDIA_PLAY_PAUSE
14
Reproduz ou pausa a reprodução. Se houver botões discretos Reproduzir e Pausar, os aplicativos deverão executar uma ação nesse comando, bem como em APPCOMMAND_MEDIA_PLAY e APPCOMMAND_MEDIA_PAUSE.
APPCOMMAND_MEDIA_PREVIOUSTRACK
12
Vai para a faixa anterior.
APPCOMMAND_MEDIA_RECORD
48
Inicia a gravação no fluxo atual.
APPCOMMAND_MEDIA_REWIND
50
Volta em um fluxo a uma taxa mais alta de velocidade. Isso pode ser implementado de várias maneiras, por exemplo, usando uma velocidade fixa ou alternando por uma série de velocidades crescentes.
APPCOMMAND_MEDIA_STOP
13
Interrompe a reprodução.
APPCOMMAND_MIC_ON_OFF_TOGGLE
44
Ativa/desativa o microfone.
APPCOMMAND_MICROPHONE_VOLUME_DOWN
25
Diminui o volume do microfone.
APPCOMMAND_MICROPHONE_VOLUME_MUTE
24
Ativa o mudo do microfone.
APPCOMMAND_MICROPHONE_VOLUME_UP
26
Aumenta o volume do microfone.
APPCOMMAND_NEW
29
Cria uma janela.
APPCOMMAND_OPEN
30
Abre uma janela.
APPCOMMAND_PASTE
38
Colar
APPCOMMAND_PRINT
33
Imprime o documento atual.
APPCOMMAND_REDO
35
Refaz a última ação.
APPCOMMAND_REPLY_TO_MAIL
39
Responde a uma mensagem de email.
APPCOMMAND_SAVE
32
Salva o documento atual.
APPCOMMAND_SEND_MAIL
41
Envia uma mensagem de email.
APPCOMMAND_SPELL_CHECK
42
Inicia uma verificação ortográfica.
APPCOMMAND_TREBLE_DOWN
22
Diminui os agudos.
APPCOMMAND_TREBLE_UP
23
Aumenta os agudos.
APPCOMMAND_UNDO
34
Desfaz a última ação.
APPCOMMAND_VOLUME_DOWN
9
Diminui o volume.
APPCOMMAND_VOLUME_MUTE
8
Ativa o mudo.
APPCOMMAND_VOLUME_UP
10
Aumenta o volume.

O componente uDevice indica o dispositivo de entrada que gerou o evento de entrada e pode ter um dos valores a seguir.

Valor Significado
FAPPCOMMAND_KEY
0
O usuário pressionou uma tecla.
FAPPCOMMAND_MOUSE
0x8000
O usuário clicou em um botão do mouse.
FAPPCOMMAND_OEM
0x1000
Uma fonte de hardware não identificada gerou o evento. Pode ser um evento do mouse ou do teclado.

O componente dwKeys indica se várias teclas virtuais estão inativas e pode ter um ou mais dos valores a seguir.

Valor Significado
MK_CONTROL
0x0008
A tecla CTRL está pressionada.
MK_LBUTTON
0x0001
O botão esquerdo do mouse está pressionado.
MK_MBUTTON
0x0010
O botão do meio do mouse está pressionado.
MK_RBUTTON
0x0002
O botão direito do mouse está pressionado.
MK_SHIFT
0x0004
A tecla SHIFT está pressionada.
MK_XBUTTON1
0x0020
O primeiro botão X está pressionado.
MK_XBUTTON2
0x0040
O segundo botão X está pressionado.

Valor retornado

Se o aplicativo processar essa mensagem, ela deverá retornar TRUE. Para obter mais informações sobre como processar o valor retornado, confira a seção Comentários.

Comentários

DefWindowProc gera a mensagem WM_APPCOMMAND quando processa a mensagem WM_XBUTTONUP ou WM_NCXBUTTONUP ou quando o usuário digita uma tecla de comando do aplicativo.

Se uma janela filho não processar essa mensagem e, em vez disso, chamar DefWindowProc, DefWindowProc enviará a mensagem para a janela pai. Se uma janela de nível superior não processar essa mensagem e chamar DefWindowProc, DefWindowProc chamará um gancho de shell com o código de gancho igual a HSHELL_APPCOMMAND.

Para obter as coordenadas do cursor se a mensagem tiver sido gerada por um clique do mouse, o aplicativo poderá chamar GetMessagePos. Um aplicativo pode testar se a mensagem foi gerada pelo mouse verificando se lParam contém FAPPCOMMAND_MOUSE.

Ao contrário de outras mensagens do Windows, um aplicativo retornará TRUE dessa mensagem se ele a processar. Isso permitirá que o software que simula essa mensagem em sistemas Windows anteriores ao Windows 2000 determine se o procedimento da janela processou a mensagem ou chamou DefWindowProc para processá-la.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Winuser.h (inclui Windows.h)

Confira também

Referência

DefWindowProc

GET_APPCOMMAND_LPARAM

GET_DEVICE_LPARAM

GET_KEYSTATE_LPARAM

ShellProc

WM_XBUTTONUP

WM_NCXBUTTONUP

Conceitual

Entrada por mouse