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_PLAY 和 APPCOMMAND_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_XBUTTONUP 或 WM_NCXBUTTONUP 消息或用户键入应用程序命令密钥时生成 WM_APPCOMMAND 消息。
如果子窗口不处理此消息,而是调用 DefWindowProc,DefWindowProc 会将消息发送到其父窗口。 如果顶级窗口不处理此消息,而是调用 DefWindowProc,DefWindowProc 将调用挂钩代码等于 HSHELL_APPCOMMAND的 shell 挂钩。
若要在单击鼠标时获取光标的坐标,应用程序可以调用 GetMessagePos。 应用程序可以通过检查 lParam 是否包含
与其他 Windows 消息不同,如果应用程序处理此消息,应用程序应从此消息返回 true
要求
要求 | 价值 |
---|---|
支持的最低客户端 |
Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 |
Windows 2000 Server [仅限桌面应用] |
页眉 |
|