WM_CHAR和WM_KEYDOWM的区别

ASCII码不是仅包含字符,还包含很多控制符键盘上大部分的按键都是与ASCII相对应的,包括空格回车ESC等(ESC按键对应ASCII十进制为27)


WM_CHAR消息只响应字符按键和部分控制符,有很多控制字符不响应不响应的键如下:

Tab键///CapsLock大小写切换键//ESC键///F1~F12///SHIFT///CTRL///ALT///方向键///方向键上方键盘区///NumLock键)


WM_KEYDOWN响应所有按键消息(Alt键///PrintScreenSysRq截屏键不响兴)


WM_CHAR区分大小写和SHIFT+数字,而WM_KEYDOWN只返回大写字母没有SHIFT作用例如:

按下F键不管处于大写或小写状态WM_KEYDOWN都返回70(ASCII对应大写F)而WM_CHAR区分大小写

SHITF+1WM_CHAR中的wParam是33(ASCII对应!)WM_KEYDOWN中的是49(ASCII对应1)

MSDN文档原文内容:

WM_CHAR是键盘所按下的那个字符的响应可以用来判断是哪个字符的响应(如按下A实现什么功能按下B实现什么功能)

WM_KEYDOWN是键盘按下后的消息响应(只要按下键盘都响应)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值