WM_SETHOTKEY消息

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

#define WM_SETHOTKEY                    0x0032

参数

wParam

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

低序单词的高字节可以是 CommCtrl.h 中的以下一个或多个值。

价值 含义
HOTKEYF_ALT
0x04
Alt 键
HOTKEYF_CONTROL
0x02
Ctrl 键
HOTKEYF_EXT
0x08
扩展密钥
HOTKEYF_SHIFT
0x01
换档键

忽略 wParam 的高序单词。

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

lParam

不使用此参数。

返回值

返回值为下列值之一。

返回值 DESCRIPTION
-1
函数不成功;热键无效。
0
函数不成功;窗口无效。
1
该函数成功,并且没有其他窗口具有相同的热键。
2
函数成功,但另一个窗口已具有相同的热键。

注解

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

VK_ESCAPEVK_SPACEVK_TABVK_PACKET 无效的热键。

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

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

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

要求

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

另请参阅

引用

RegisterHotKey

WM_GETHOTKEY

WM_SYSCOMMAND

概念

键盘输入