windows键盘消息

键盘消息
键盘消息分为击键消息和字符消息
剧本杀成社交新潮流
蒋南翔击键消息,如玉娇丽
场强WM_KEYDOWN
WM_KEYUP
WM_SYSKEYDOWN
WM_SYSKEYUP
字符消息,如
WM_CHAR
WM_DEADCHAR
WM_SYSCHAR
WM_SYSDEADCHAR
//带有SYS表⽰⼀般交给DefWindowProc处理,如包含Alt的击键
击键消息
以WM_KEYDOWN 消息为例:
消息含义:
当⼀个⾮系统按键被按下的时候,发送到键盘焦点所在窗⼝的消息。
⾮系统按键指的是没有与 ALT 键同时按下的任何按键。
消息定义:
#define WM_KEYDOWN 0x0100
参数:
wParam:指定该按键的虚拟键代码
lParam:指定重复计数、OEM 扫描码、扩展键标记、内容代码、先前状态和转换状态,具体含义和表⽰⽅法如下:
位含义
0-151. 当前消息被重复的次数
2. 当⽤户按下按键不松开时,Windows 会将该键产⽣的所有WM_KEYDOWN 消息合称为⼀个消息,并增加该字段的值
3. 重复计数⼤于 1 表明此时连续击键的速度快于程序的处理能⼒
16-
23
OEM 扫描码(键盘硬件产⽣的代码)
241. 指定该按键是否扩展键
2. ⽐如 IBM 加强型键盘有 101 或 102 个键,右边的 ALT 和CTRL 就是扩展键
25-
28
系统保留
29内容代码:对于 WM_KEYDOWN 消息来说,这个值总是 0
30先前状态:在消息发送前如果按键是被按下的话该值是 1,否则是 0 31转换状态:对于 WM_KEYDOWN 消息来说,这个值总是 0
键盘扫描码:是基于键盘硬件真实的扫描码,可能因键盘的⼚家,型号不同⽽有所不同
键盘映射虚拟键代码:Microsoft为消除扫描码弊端,把各个按键的扫描码映射成的代码(不区分⼤⼩写,即⼤⼩写字符虚拟键代码相同)字符消息
击键消息通过  TranslateMessage()  函数转换为字符消息。
参数:
wParam:ANSI字符码或Unicode字符码
lParam:同击键消息
中国之网
//如果注册窗⼝类时调⽤的  RegisterClass  被宏定义为  RegisterClassW  则表⽰使⽤的是Unicode字符码,如果被宏定义为 RegisterClassA则表⽰使⽤的是ANSI字符码。也可以通过  IsWindowUnicode()函数判断。

本文发布于:2024-09-21 11:02:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/722306.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消息   按键   键盘   代码   击键   扫描   字符   状态
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议