Download presentation
Presentation is loading. Please wait.
Published byRiikka Halonen Modified 5年之前
1
本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
2
要点回顾: 1、消息队列不止一个: <1> SentMessagesListHead //接到SendMessage发来的消息 <2> PostedMessagesListHead //接到PostMessage发来的消息 <3> HardwareMessagesListHead //接到鼠标、键盘的消息 2、GetMessage()函数不仅仅读取消息
3
如果注释掉DispatchMessage会发生什么事情? MSG msg;
1、引出问题: 如果注释掉DispatchMessage会发生什么事情? MSG msg; while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } 引出消息的分发
4
User32!DispatchMessage 调用 w32k!NtUserDispatchMessage
3、其他队列的处理流程: User32!DispatchMessage 调用 w32k!NtUserDispatchMessage <1> 根据窗口句柄找到窗口对象 <2> 根据窗口对象得到窗口过程函数,由0环发起调用 代码读到内核回调处
5
4、消息的转换 <参加课堂代码>
6
5、默认的消息处理函数 <参加课堂代码>
7
昆山爱达人信息技术有限公司 QQ: 课后练习: <线上班>学员可见
Similar presentations