Presentation is loading. Please wait.

Presentation is loading. Please wait.

本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866.

Similar presentations


Presentation on theme: "本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866."— Presentation transcript:

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: 课后练习: <线上班>学员可见


Download ppt "本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866."

Similar presentations


Ads by Google