180108 逆向-Windows消息机制(键盘消息)

本文详细介绍了Windows操作系统中的键盘消息处理,包括击键消息(WM_KEYDOWN、WM_KEYUP)、字符消息(WM_CHAR、WM_SYSCHAR)的生成与转换,以及虚拟键码和lParam信息的解析。此外,还探讨了系统击键消息如何处理,以及如何通过用户窗口过程函数控制键盘事件。
摘要由CSDN通过智能技术生成

1625-5 王子昂 总结《2018年1月8日》 【连续第465天总结】
A. Windows消息系统-键盘消息
B.

键盘消息

概述

应用程序从系统接收到的关于键盘的消息可以分为两类:击键和字符。
物理层面上,对于某个按键(例如A),会发出“按下”和“弹起”两种消息,即击键消息
逻辑层面上,对于某个按键(例如A),按下以后会发出字符消息’A’

对于可以产生显示字符的击键,Windows不仅给程序发送击键消息,而且会发送字符消息
而对于不产生字符消息的击键,例如Shift、Alt等组合键、Esc、F1等功能键,都只会产生击键消息

击键消息

当按下某个按键时,Windows把WM_KEYDOWN或WM_SYSKEYDOW消息放入有输入焦点的窗口的消息队列中
当弹起某个按键时,Windows同样把WM_KEYUP或WM_SYSKEYUP消息放入队列中
有时会出现按住某个键不放的情况,此时Windows会把一系列的WM_KEYDOWN或WM_SYSKEYDOW放入队列中,直到释放把KEYUP放入队列

WM_SYSKEYDOW和WM_SYSKEYUP用于系统击键

系统击键

系统击键表示该击键对于Windows系统比对于应用程序更重要,例如Alt+F、Alt+TAB等

几乎所有会影响用户程序的消息都会先通过用户窗口过程函数
如果用户不处理且该消息为系统击键消息,则进入DefWindowProc默认窗口过程函数处理
如果是非系统击键消息则被忽略

如果用户自己的应用程序要处理系统击键消息

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值