WM_SYSKEYUP消息
当用户释放按住 Alt 键时按下的键时,使用键盘焦点发布到窗口。 当当前没有窗口具有键盘焦点时,也会发生这种情况;在这种情况下, WM_SYSKEYUP 消息将发送到活动窗口。 接收消息的窗口可以通过检查 lParam 中的上下文代码来区分这两个上下文。
窗口通过其 WindowProc 函数接收此消息。
#define WM_SYSKEYUP 0x0105
参数
-
wParam
-
要释放的密钥的虚拟密钥代码。 请参阅虚拟键代码。
-
lParam
-
重复次数、扫描代码、扩展键标志、上下文代码、上一个键状态标志和转换状态标志,如下表所示。
Bits 含义 0-15 当前消息的重复次数。 该值是由于用户按住键而自动重复击键的次数。 对于 WM_SYSKEYUP 消息,重复计数始终为 1。 16-23 扫描代码。 此值取决于 OEM。 24 指定键是否为扩展键,例如出现在增强型 101 或 102 键键盘上的右侧 ALT 和 CTRL 键。 如果它是扩展键,则值为 1;否则为零。 25-28 保留;请勿使用。 29 上下文代码。 如果在释放键时 ALT 键关闭,则值为 1;如果 WM_SYSKEYUP 消息发布到活动窗口,则为零,因为没有窗口具有键盘焦点。 30 上一个键状态。 对于 WM_SYSKEYUP 消息,该值始终为 1。 31 转换状态。 对于 WM_SYSKEYUP 消息,该值始终为 1。 有关详细信息,请参阅 击键消息标志。
返回值
如果应用程序处理此消息,则应返回零。
备注
如果释放了 F10 键或 ALT 键,DefWindowProc 函数会将 WM_SYSCOMMAND 消息发送到顶级窗口。 消息的 wParam 参数设置为 SC_KEYMENU。
当上下文代码为零时,可以将消息传递给 TranslateAccelerator 函数,该函数将其视为普通的键消息进行处理,而不是将其视为字符键消息。 这样,即使活动窗口没有键盘焦点,也能对活动窗口使用加速键。
对于增强型 101 和 102 键键盘,扩展键是键盘主区域上的右侧 ALT 和 CTRL 键;数字键盘左侧键群中的 INS、DEL、HOME、END、PAGE UP、PAGE DOWN 和箭头键;以及数字键盘中的除号 (/) 和 ENTER 键。 其他一些键盘可能支持 lParam 参数中的扩展键位。
对于非美国增强型 102 键键盘,右侧 ALT 键作为 CTRL+Alt 键处理。 下表显示了当用户按下并释放此键时生成的消息序列。
Message | 虚拟密钥代码 |
---|---|
WM_KEYDOWN | VK_CONTROL |
WM_KEYDOWN | VK_MENU |
WM_KEYUP | VK_CONTROL |
WM_SYSKEYUP | VK_MENU |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|