WM_APPCOMMAND消息

通知窗口用户生成应用程序命令事件,例如,通过使用鼠标单击应用程序命令按钮或在键盘上键入应用程序命令键。

#define WM_APPCOMMAND                   0x0319

参数

wParam

用户单击按钮或按下键的窗口的句柄。 这可以是接收消息的窗口的子窗口。 有关处理此消息的详细信息,请参阅“备注”部分。

lParam

使用以下代码获取 lParam 参数中包含的信息。

cmd  = GET_APPCOMMAND_LPARAM(lParam);

uDevice = GET_DEVICE_LPARAM(lParam);

dwKeys = GET_KEYSTATE_LPARAM(lParam);

应用程序命令 cmd,可以是以下值之一。

价值 意义
APPCOMMAND_BASS_BOOST
20
打开和关闭低音提升。
APPCOMMAND_BASS_DOWN
19
降低低音。
APPCOMMAND_BASS_UP
21
增加低音。
APPCOMMAND_BROWSER_BACKWARD
1
向后导航。
APPCOMMAND_BROWSER_FAVORITES
6
打开收藏夹。
APPCOMMAND_BROWSER_FORWARD
2
向前导航。
APPCOMMAND_BROWSER_HOME
7
导航回家。
APPCOMMAND_BROWSER_REFRESH
3
刷新页面。
APPCOMMAND_BROWSER_SEARCH
5
打开搜索。
APPCOMMAND_BROWSER_STOP
4
停止下载。
APPCOMMAND_CLOSE
31
关闭窗口(而不是应用程序)。
APPCOMMAND_COPY
36
复制所选内容。
APPCOMMAND_CORRECTION_LIST
45
在语音输入期间错误地识别单词时,显示更正列表。
APPCOMMAND_CUT
37
剪切所选内容。
APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
43
在语音输入的两种模式之间切换:听写和命令/控件(为应用程序提供命令或访问菜单)。
APPCOMMAND_FIND
28
打开“查找”对话框
APPCOMMAND_FORWARD_MAIL
40
转发邮件。
APPCOMMAND_HELP
27
打开 帮助 对话框。
APPCOMMAND_LAUNCH_APP1
17
启动 App1。
APPCOMMAND_LAUNCH_APP2
18
启动 App2。
APPCOMMAND_LAUNCH_MAIL
15
打开邮件。
APPCOMMAND_LAUNCH_MEDIA_SELECT
16
转到“媒体选择”模式。
APPCOMMAND_MEDIA_CHANNEL_DOWN
52
递减频道值,例如电视或电台调音器。
APPCOMMAND_MEDIA_CHANNEL_UP
51
递增频道值,例如,对于电视或无线电优化器。
APPCOMMAND_MEDIA_FAST_FORWARD
49
提高流播放的速度。 这可以通过多种方式实现,例如,使用固定速度或通过一系列提高速度进行切换。
APPCOMMAND_MEDIA_NEXTTRACK
11
转到下一曲目。
APPCOMMAND_MEDIA_PAUSE
47
暂停。 如果已暂停,则不采取进一步操作。 这是没有状态的直接 PAUSE 命令。 如果有离散的“播放”和“暂停”按钮,应用程序应对此命令执行操作,并 APPCOMMAND_MEDIA_PLAY_PAUSE
APPCOMMAND_MEDIA_PLAY
46
开始在当前位置播放。 如果已暂停,它将恢复。 这是没有状态的直接 PLAY 命令。 如果有离散 播放暂停 按钮,应用程序应对此命令以及 APPCOMMAND_MEDIA_PLAY_PAUSE执行操作。
APPCOMMAND_MEDIA_PLAY_PAUSE
14
播放或暂停播放。 如果有离散 播放暂停 按钮,应用程序应对此命令以及 APPCOMMAND_MEDIA_PLAYAPPCOMMAND_MEDIA_PAUSE执行操作。
APPCOMMAND_MEDIA_PREVIOUSTRACK
12
转到上一曲目。
APPCOMMAND_MEDIA_RECORD
48
开始录制当前流。
APPCOMMAND_MEDIA_REWIND
50
以更高的速度在流中向后移动。 这可以通过多种方式实现,例如,使用固定速度或通过一系列提高速度进行切换。
APPCOMMAND_MEDIA_STOP
13
停止播放。
APPCOMMAND_MIC_ON_OFF_TOGGLE
44
切换麦克风。
APPCOMMAND_MICROPHONE_VOLUME_DOWN
25
减少麦克风音量。
APPCOMMAND_MICROPHONE_VOLUME_MUTE
24
将麦克风静音。
APPCOMMAND_MICROPHONE_VOLUME_UP
26
增加麦克风音量。
APPCOMMAND_NEW
29
创建新窗口。
APPCOMMAND_OPEN
30
打开窗口。
APPCOMMAND_PASTE
38

APPCOMMAND_PRINT
33
打印当前文档。
APPCOMMAND_REDO
35
重做最后一个操作。
APPCOMMAND_REPLY_TO_MAIL
39
答复邮件。
APPCOMMAND_SAVE
32
保存当前文档。
APPCOMMAND_SEND_MAIL
41
发送邮件。
APPCOMMAND_SPELL_CHECK
42
启动拼写检查。
APPCOMMAND_TREBLE_DOWN
22
降低高音。
APPCOMMAND_TREBLE_UP
23
增加高音。
APPCOMMAND_UNDO
34
撤消最后一个操作。
APPCOMMAND_VOLUME_DOWN
9
降低音量。
APPCOMMAND_VOLUME_MUTE
8
将卷静音。
APPCOMMAND_VOLUME_UP
10
提高卷。

uDevice 组件指示生成输入事件的输入设备,并且可以是以下值之一。

价值 意义
FAPPCOMMAND_KEY
0
用户按下了一个键。
FAPPCOMMAND_MOUSE
0x8000
用户单击了鼠标按钮。
FAPPCOMMAND_OEM
0x1000
未识别的硬件源生成了事件。 它可以是鼠标或键盘事件。

dwKeys 组件指示各种虚拟密钥是否已关闭,并且可以是以下一个或多个值。

价值 意义
MK_CONTROL
0x0008
Ctrl 键已关闭。
MK_LBUTTON
0x0001
鼠标左键已关闭。
MK_MBUTTON
0x0010
鼠标中间按钮已关闭。
MK_RBUTTON
0x0002
鼠标右键已关闭。
MK_SHIFT
0x0004
SHIFT 键已关闭。
MK_XBUTTON1
0x0020
XBUTTON1已关闭。
MK_XBUTTON2
0x0040
XBUTTON2已关闭。

返回值

如果应用程序处理此消息,它应返回 true 。 有关处理返回值的详细信息,请参阅“备注”部分。

言论

DefWindowProc 在处理 WM_XBUTTONUPWM_NCXBUTTONUP 消息或用户键入应用程序命令密钥时生成 WM_APPCOMMAND 消息。

如果子窗口不处理此消息,而是调用 DefWindowProcDefWindowProc 会将消息发送到其父窗口。 如果顶级窗口不处理此消息,而是调用 DefWindowProcDefWindowProc 将调用挂钩代码等于 HSHELL_APPCOMMAND的 shell 挂钩。

若要在单击鼠标时获取光标的坐标,应用程序可以调用 GetMessagePos。 应用程序可以通过检查 lParam 是否包含 FAPPCOMMAND_MOUSE来测试消息是否由鼠标生成。

与其他 Windows 消息不同,如果应用程序处理此消息,应用程序应从此消息返回 true 。 这样做将允许在早于 Windows 2000 的 Windows 系统上模拟此消息的软件来确定窗口过程是处理该消息还是调用 DefWindowProc 来处理它。

要求

要求 价值
支持的最低客户端
Windows 2000 Professional [仅限桌面应用]
支持的最低服务器
Windows 2000 Server [仅限桌面应用]
页眉
Winuser.h (包括 Windows.h)

另请参阅

参考

DefWindowProc

GET_APPCOMMAND_LPARAM

GET_DEVICE_LPARAM

GET_KEYSTATE_LPARAM

ShellProc

WM_XBUTTONUP

WM_NCXBUTTONUP

概念

鼠标输入