欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Windows按键消息

程序员文章站 2022-03-11 15:43:02
应用程序从Windows接收的关于键盘事件的消息可以分为按键消息和字符消息两类按键消息当按下一个键时,Windows把WM_KEYDOWN或者WM_SYSKEYDOWN消息放入有输入焦点的窗口的消息队列;当释放一个键时,Windows把WM_KEYUP或者WM_SYSKEYUP消息放入消息队列中。系统按键与非系统按键WM_SYSKEYDOWN和WM_SYSKEYUP中的「SYS」代表「系统」,它表示该按键对Windows比对Windows应用程序更加重要。WM_SYSKEYDOWN和...

应用程序从Windows接收的关于键盘事件的消息可以分为按键消息字符消息两类

按键消息

当按下一个键时,Windows把WM_KEYDOWN或者WM_SYSKEYDOWN消息放入有输入焦点的窗口的消息队列;

当释放一个键时,Windows把WM_KEYUP或者WM_SYSKEYUP消息放入消息队列中。

系统按键与非系统按键

WM_SYSKEYDOWN和WM_SYSKEYUP中的「SYS」代表「系统」,它表示该按键对Windows比对Windows应用程序更加重要。

WM_SYSKEYDOWN和WM_SYSKEYUP消息经常由与Alt相组合的按键产生,

这些按键启动程序菜单或者系统菜单上的选项,或者用于切换活动窗口等系统功能(Alt-Tab或者Alt-Esc),

也可以用作系统菜单快捷键(Alt键与一个功能键相结合,例如Alt-F4用于关闭应用程序)

用户程序通常忽略WM_SYSKEYUP和WM_SYSKEYDOWN消息,并将它们传送到DefWindowProc。

 

对所有四类按键消息,wParam是虚拟键代码,表示按下或释放的键,而lParam则包含属于按键的其它数据。

虚拟键码

虚拟键码标识按下或释放的键。

真实的键码由实际键盘硬件产生。在Windows文件中将这些键码称为「扫描码(scan codes)」。

扫描码是依据键盘的实际布局的。

Windows开发者认为这些代码过于与设备相关了,于是他们试图通过定义所谓的虚拟键码,以便经由与设备无关的方式处理键盘。

其中一些虚拟键码不能在IBM兼容机种上产生,但可能会在其它制造商生产的键盘中找到,或者在未来的键盘上找到。

lParam信息

Windows按键消息

本文地址:https://blog.csdn.net/cix1314/article/details/110151080