键盘击键消息

本文介绍了Windows的击键消息机制。Windows通过发送WM_KEYDOWN和WM_KEYUP消息报告键的按下和释放,Alt和F10两个系统键例外,会产生WM_SYSKEYUP和WM_SYSKEYDOWN消息。应用程序可通过消息映射表和处理函数处理击键消息,还给出了处理函数原型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

击键消息
Windows通过给拥有输入焦点的窗口发送WM_KEYDOWN和WM_KEYUP消息来报告键是被按下还是被释放,这些消息被称为击键消息。当一个键被按下时,由输入焦点的窗口会接收到WM_KEYDOWN消息以及一个标识键的虚拟键代码,当键被释放时会收到WM_KEYUP消息。当一个键被按下时,如果另外的键被按下并释放,那么刚产生的WM_KEYDOWN和WM_KEYUP消息会把按着的键产生的WM_KEYDOWN和WM_KEYUP分开
除了两个键以外所有的键都产生WM_KEYDOWN和WM_KEYUP消息,两个例外键是Alt和F10,它们是系统键,对Windows有特殊意义。它们中任何一个键被按下和释放,窗口都会接到WM_SYSKEYUP跟着WM_SYSKEYDOWN消息,如果在Alt键被按下时别的键被按下了,他们也会产生WM_SYSKEYDOWN和WM_SYSUP消息,而不是WM_KEYDOWN和WM_KEYUP消息。按下F10使Windows处于特殊模态下,它将把下一次击键当作菜单选择的快捷模式。例如:在按下了F10之后再按F键,在大多数程序中会拉下“文件”菜单;(可以自己打开一个Windows txt文档 按下F10,然后再按下F,会有下拉菜单弹出)

应用程序对感兴趣的击键消息提供了消息映射表输入项以及消息处理函数来处理他们。WM_KEYDOWN,WM_KEYUP,WM_SYSKEYDOWN,WM_SYSKEYUP分别由类的OnKeyDown,OnKeyUp,OnSysKeyDown以及OnSysKeyUp成员函数处理
击键消息处理函数原型如下:
afx_msg void OnMsgName(UINT nChar,UINT nRepCnt,UINT nFlags);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值