[发明专利]一种浏览器消息处理方法及装置有效
申请号: | 201110448569.0 | 申请日: | 2011-12-28 |
公开(公告)号: | CN102541641A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 唐曦;孙鹏 | 申请(专利权)人: | 奇智软件(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京市德权律师事务所 11302 | 代理人: | 刘丽君 |
地址: | 100016 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 浏览器 消息 处理 方法 装置 | ||
技术领域
本发明涉及Windows消息处理技术领域,特别是涉及一种浏览器消息处理方法及装置。
背景技术
Windows操作系统是一个消息(Message)驱动系统。Windows的消息提供了应用程序之间、应用程序与Windows操作系统之间进行通信的手段,应用程序想要实现的功能由消息来触发,并且靠对消息的响应和处理来完成。
计算机的所有输入设备由Windows统一进行监控。当一个事件发生时,Windows先将输入的消息放入系统消息队列中,再将消息拷贝到应用程序相应的线程消息队列中。应用程序的消息处理程序将反复检测消息队列,并把检测到的消息进行转换后,分发到相应的窗口函数中,由相应的窗口函数对消息进行处理。这便是一个事件从发生至到达窗口函数进行处理所必须经历的过程。
然而,在Windows操作系统中,消息并非是抢占性的,也即,无论事件的缓急,总是按照到达的先后依次进行处理(一些系统消息除外),这样可能会造成一些不利的影响。例如,可能会使一些实时外部事件得不到及时处理,影响应用程序对具体功能的实现。例如,对于浏览器而言,该应用程序时一个需要频繁与用户进行交互的网页浏览工具,当用户触发一些外部事件之后,如果迟迟得到不处理,可能会使得一些操作失效,等等。
因此,迫切需要本领域技术人员解决的技术问题就在于,如何能更加灵活地对浏览器的消息进行处理,以更好地实现浏览器的功能。
发明内容
本发明提供了一种浏览器消息处理方法及装置,能够更加灵活地对浏览器的消息进行处理,以更好地实现浏览器的功能。
本发明提供了如下方案:
一种浏览器消息处理方法,包括:
应用程序创建一消息队列;
从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所述应用程序创建的消息队列中;
判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整;
按照所述应用程序创建的消息队列中各消息的顺序,将各个消息分发到浏览器相应的窗口进行处理。
优选地,还包括:
从操作系统为浏览器线程创建的消息队列中取出当前的所有消息之后,将所述取出的消息从所述操作系统创建的消息队列中清除。
其中,所述判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整包括:
判断所述取出的消息中是否存在需要由当前处于焦点的窗口处理的消息,如果存在,则将该消息调整到消息队列的前端。
其中,所述判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整包括:
判断所述取出的消息中是否存在与用户交互相关的消息,如果存在,则将该消息调整到消息队列的前端。
其中,所述判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整包括:
判断所述取出的消息中是否存在需要在第一消息之前处理的第二消息,如果存在,则将所述第二消息调整到所述第一消息之前。
一种消息处理装置,包括:
队列创建单元,用于应用程序创建一消息队列;
消息取出单元,用于从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所述应用程序创建的消息队列中;
顺序调整单元,用于判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整;
消息分发单元,用于按照所述应用程序创建的消息队列中各消息的顺序,将各个消息分发到浏览器相应的窗口进行处理。
其中,还包括:
清除单元,用于从操作系统为浏览器线程创建的消息队列中取出当前的所有消息之后,将所述取出的消息从所述操作系统创建的消息队列中清除。
其中,所述顺序调整单元包括:
第一调整子单元,用于判断所述取出的消息中是否存在需要由当前处于焦点的窗口处理的消息,如果存在,则将该消息调整到消息队列的前端。
其中,所述顺序调整单元包括:
第二调整子单元,用于判断所述取出的消息中是否存在与用户交互相关的消息,如果存在,则将该消息调整到消息队列的前端。
其中,所述顺序调整单元包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇智软件(北京)有限公司,未经奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110448569.0/2.html,转载请声明来源钻瓜专利网。