WM_SETHOTKEY消息

发送到窗口以将热键与窗口相关联。 当用户按下热键时,系统会激活窗口。

#define WM_SETHOTKEY                    0x0032

参数

wParam

低序单词指定要与窗口关联的虚拟键代码。

高阶单词可以是 CommCtrl.h 中的以下一个或多个值。

wParam 设置为 NULL 会删除与窗口关联的热键。

含义
HOTKEYF_ALT
0x04
Alt 键
HOTKEYF_CONTROL
0x02
Ctrl 键
HOTKEYF_EXT
0x08
扩展键
HOTKEYF_SHIFT
0x01
SHIFT 键

lParam

未使用此参数。

返回值

返回值为下列值之一。

返回值 说明
-1
函数失败;热键无效。
0
函数失败;窗口无效。
1
函数成功,没有其他窗口具有相同的热键。
2
函数成功,但另一个窗口已具有相同的热键。

注解

热键不能与子窗口相关联。

VK_ESCAPEVK_SPACEVK_TAB 无效的热键。

当用户按下热键时,系统会生成一条 WM_SYSCOMMAND 消息, wParam 等于 SC_HOTKEYlParam 等于窗口的句柄。 如果此消息传递到 DefWindowProc,则系统会将窗口的最后一个活动弹出窗口 ((如果窗口存在) 或窗口本身 (如果没有弹出窗口) 前台)。

窗口只能有一个热键。 如果窗口已具有与之关联的热键,则新的热键将替换旧键。 如果多个窗口具有相同的热键,则由热键激活的窗口是随机的。

这些热键与 RegisterHotKey 设置的热键无关。

要求

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

另请参阅

引用

RegisterHotKey

WM_GETHOTKEY

WM_SYSCOMMAND

概念性

键盘输入