Mensaje WM_APPCOMMAND

Notifica a una ventana que el usuario generó un evento de comando de aplicación, por ejemplo, haciendo clic en un botón de comando de aplicación con el mouse o tecleando una tecla de comando de aplicación en el teclado.

#define WM_APPCOMMAND                   0x0319

Parámetros

wParam

Un identificador de la ventana donde el usuario hizo clic en el botón o presionó la tecla. Esta ventana puede ser una ventana secundaria de la ventana que recibe el mensaje. Para obtener más información sobre cómo procesar este mensaje, consulte la sección Comentarios.

lParam

Use el código siguiente para obtener la información contenida en el parámetro lParam.

cmd  = GET_APPCOMMAND_LPARAM(lParam);

uDevice = GET_DEVICE_LPARAM(lParam);

dwKeys = GET_KEYSTATE_LPARAM(lParam);

El comando de aplicación es cmd, que puede ser uno de los siguientes valores.

Valor Significado
APPCOMMAND_BASS_BOOST
20
Activar y desactivar el refuerzo de graves.
APPCOMMAND_BASS_DOWN
19
Reducir los graves.
APPCOMMAND_BASS_UP
21
Aumentar los graves.
APPCOMMAND_BROWSER_BACKWARD
1
Navegar hacia atrás.
APPCOMMAND_BROWSER_FAVORITES
6
Abrir los favoritos.
APPCOMMAND_BROWSER_FORWARD
2
Navegar hacia adelante.
APPCOMMAND_BROWSER_HOME
7
Navegar a inicio.
APPCOMMAND_BROWSER_REFRESH
3
Actualizar la página.
APPCOMMAND_BROWSER_SEARCH
5
Abrir búsqueda.
APPCOMMAND_BROWSER_STOP
4
Detener la descarga.
APPCOMMAND_CLOSE
31
Cerrar la ventana (no la aplicación).
APPCOMMAND_COPY
36
Copiar la selección.
APPCOMMAND_CORRECTION_LIST
45
Abre la lista de correcciones cuando una palabra se identifica incorrectamente durante la entrada de voz.
APPCOMMAND_CUT
37
Cortar la selección.
APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
43
Alterna entre dos modos de entrada de voz: dictado y comando o control (proporcionando comandos a una aplicación o accediendo a menús).
APPCOMMAND_FIND
28
Abrir el cuadro de diálogo Buscar.
APPCOMMAND_FORWARD_MAIL
40
Reenviar un mensaje de correo.
APPCOMMAND_HELP
27
Abrir el cuadro de diálogo Ayuda.
APPCOMMAND_LAUNCH_APP1
17
Iniciar la aplicación 1.
APPCOMMAND_LAUNCH_APP2
18
Iniciar la aplicación 2.
APPCOMMAND_LAUNCH_MAIL
15
Abrir el correo.
APPCOMMAND_LAUNCH_MEDIA_SELECT
16
Ir al modo de selección multimedia.
APPCOMMAND_MEDIA_CHANNEL_DOWN
52
Disminuir el valor del canal, por ejemplo, para un sintonizador de televisión o radio.
APPCOMMAND_MEDIA_CHANNEL_UP
51
Aumentar el valor del canal, por ejemplo, para un sintonizador de televisión o radio.
APPCOMMAND_MEDIA_FAST_FORWARD
49
Aumentar la velocidad de reproducción de flujos. Esto se puede implementar de muchas maneras, por ejemplo, usando una velocidad fija o alternando a través de una serie de velocidades crecientes.
APPCOMMAND_MEDIA_NEXTTRACK
11
Ir a la pista siguiente.
APPCOMMAND_MEDIA_PAUSE
47
Pausar. Si ya está en pausa, no se realiza ninguna otra acción. Se trata de un comando PAUSE directo que no tiene ningún estado. Si hay botones discretos Reproducir y Pausar, las aplicaciones deben tomar medidas en este comando, así como APPCOMMAND_MEDIA_PLAY_PAUSE.
APPCOMMAND_MEDIA_PLAY
46
Iniciar la reproducción en la posición actual. Si ya está en pausa, se reanudará. Se trata de un comando PLAY directo que no tiene ningún estado. Si hay botones discretos Reproducir y Pausar, las aplicaciones deben tomar medidas en este comando, así como APPCOMMAND_MEDIA_PLAY_PAUSE.
APPCOMMAND_MEDIA_PLAY_PAUSE
14
Reproducir o pausar la reproducción. Si hay botones discretos Reproducir y Pausar, las aplicaciones deben tomar medidas en este comando, así como APPCOMMAND_MEDIA_PLAY_PAUSE y APPCOMMAND_MEDIA_PAUSE.
APPCOMMAND_MEDIA_PREVIOUSTRACK
12
Ir a pista anterior.
APPCOMMAND_MEDIA_RECORD
48
Iniciar grabación del flujo actual.
APPCOMMAND_MEDIA_REWIND
50
Retroceder en un flujo a mayor velocidad. Esto se puede implementar de muchas maneras, por ejemplo, usando una velocidad fija o alternando a través de una serie de velocidades crecientes.
APPCOMMAND_MEDIA_STOP
13
Detener reproducción.
APPCOMMAND_MIC_ON_OFF_TOGGLE
44
Alternar el micrófono.
APPCOMMAND_MICROPHONE_VOLUME_DOWN
25
Bajar el volumen del micrófono.
APPCOMMAND_MICROPHONE_VOLUME_MUTE
24
Silenciar el micrófono.
APPCOMMAND_MICROPHONE_VOLUME_UP
26
Subir el volumen del micrófono.
APPCOMMAND_NEW
29
Crear una nueva ventana.
APPCOMMAND_OPEN
30
Abrir una ventana.
APPCOMMAND_PASTE
38
Pegar
APPCOMMAND_PRINT
33
Imprimir el documento actual.
APPCOMMAND_REDO
35
Rehacer la última acción.
APPCOMMAND_REPLY_TO_MAIL
39
Responder a un mensaje de correo.
APPCOMMAND_SAVE
32
Guardar el documento actual.
APPCOMMAND_SEND_MAIL
41
Enviar un mensaje de correo.
APPCOMMAND_SPELL_CHECK
42
Iniciar una revisión ortográfica.
APPCOMMAND_TREBLE_DOWN
22
Reducir los agudos.
APPCOMMAND_TREBLE_UP
23
Aumentar los agudos.
APPCOMMAND_UNDO
34
Deshacer la última acción.
APPCOMMAND_VOLUME_DOWN
9
Bajar el volumen.
APPCOMMAND_VOLUME_MUTE
8
Silenciar el volumen.
APPCOMMAND_VOLUME_UP
10
Subir el volumen.

El componente uDevice indica el dispositivo de entrada que generó el evento de entrada y puede ser uno de los valores siguientes.

Valor Significado
FAPPCOMMAND_KEY
0
El usuario presionó una tecla.
FAPPCOMMAND_MOUSE
0x8000
El usuario hizo clic en un botón del mouse.
FAPPCOMMAND_OEM
0x1000
Un origen de hardware no identificado generó el evento. Podría ser un evento de mouse o teclado.

El componente dwKeys indica si hay varias claves virtuales presionadas y puede ser uno o varios de los valores siguientes.

Valor Significado
MK_CONTROL
0x0008
La tecla CTRL está presionada.
MK_LBUTTON
0x0001
El botón izquierdo del mouse está presionado.
MK_MBUTTON
0x0010
El botón central del mouse está presionado.
MK_RBUTTON
0x0002
El botón derecho del mouse está presionado.
MK_SHIFT
0x0004
La tecla MAYÚS está presionada.
MK_XBUTTON1
0x0020
El primer botón X está presionado.
MK_XBUTTON2
0x0040
El segundo botón X está presionado.

Valor devuelto

Si la aplicación procesa este mensaje, debería devolver TRUE. Para más información sobre cómo procesar el valor devuelto, consulte la sección Comentarios.

Comentarios

DefWindowProc genera el mensaje WM_APPCOMMAND cuando procesa el mensaje WM_XBUTTONUP o WM_NCXBUTTONUP o cuando el usuario escribe una clave de comando de aplicación.

Si una ventana secundaria no procesa este mensaje y, en su lugar, llama a DefWindowProc, DefWindowProc enviará el mensaje a su ventana primaria. Si una ventana de nivel superior no procesa este mensaje y, en su lugar, llama a DefWindowProc, DefWindowProc llamará a un enlace de shell con el código de enlace igual a HSHELL_APPCOMMAND.

Para obtener las coordenadas del cursor si un clic del mouse generó el mensaje, la aplicación puede llamar a GetMessagePos. Una aplicación puede probar si el mouse generó el mensaje comprobando si lParam contiene FAPPCOMMAND_MOUSE.

A diferencia de otros mensajes de Windows, una aplicación debe devolver TRUE de este mensaje si lo procesa. Al hacerlo, permitirá que el software que simula este mensaje en sistemas Windows anteriores a Windows 2000 determine si el procedimiento de ventana procesó el mensaje o llamó a DefWindowProc para procesarlo.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluya Windows.h)

Consulte también

Referencia

DefWindowProc

GET_APPCOMMAND_LPARAM

GET_DEVICE_LPARAM

GET_KEYSTATE_LPARAM

ShellProc

WM_XBUTTONUP

WM_NCXBUTTONUP

Conceptual

Entrada de mouse