欢迎访问!
您的支持是我们不断前行的动力!

WM_CHAR和WM_KEYDOWM的区别

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是键盘按下后的消息响应(只要按下键盘都响应)

赞(1) 打赏
转载请注明出处,未注明出处不得转载,蜘蛛侠 » WM_CHAR和WM_KEYDOWM的区别
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

蜘蛛侠,您身边的爬虫专家!

觉得文章有用就打赏一下文章作者吧

支付宝扫一扫打赏

微信扫一扫打赏