本发明专利技术公开了一种浏览器消息处理方法及装置,其中,所述方法包括:应用程序创建一消息队列;从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所述应用程序创建的消息队列中;判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整;按照所述应用程序创建的消息队列中各消息的顺序,将各个消息分发到浏览器相应的窗口进行处理。通过本发明专利技术,能够更加灵活地对浏览器的消息进行处理,以更好地实现浏览器的功能。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种浏览器消息处理方法及装置,其中,所述方法包括:应用程序创建一消息队列;从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所述应用程序创建的消息队列中;判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整;按照所述应用程序创建的消息队列中各消息的顺序,将各个消息分发到浏览器相应的窗口进行处理。通过本专利技术,能够更加灵活地对浏览器的消息进行处理,以更好地实现浏览器的功能。【专利说明】一种浏览器消息处理方法及装置
本专利技术涉及Windows消息处理
,特别是涉及一种浏览器消息处理方法及 装直。
技术介绍
Windows操作系统是一个消息(Message)驱动系统。Windows的消息提供了应用 程序之间、应用程序与Windows操作系统之间进行通信的手段,应用程序想要实现的功能 由消息来触发,并且靠对消息的响应和处理来完成。 计算机的所有输入设备由Windows统一进行监控。当一个事件发生时,Windows先 将输入的消息放入系统消息队列中,再将消息拷贝到应用程序相应的线程消息队列中。应 用程序的消息处理程序将反复检测消息队列,并把检测到的消息进行转换后,分发到相应 的窗口函数中,由相应的窗口函数对消息进行处理。这便是一个事件从发生至到达窗口函 数进行处理所必须经历的过程。 然而,在Windows操作系统中,消息并非是抢占性的,也即,无论事件的缓急,总是 按照到达的先后依次进行处理(一些系统消息除外),这样可能会造成一些不利的影响。例 如,可能会使一些实时外部事件得不到及时处理,影响应用程序对具体功能的实现。例如, 对于浏览器而言,该应用程序时一个需要频繁与用户进行交互的网页浏览工具,当用户触 发一些外部事件之后,如果迟迟得到不处理,可能会使得一些操作失效,等等。 因此,迫切需要本领域技术人员解决的技术问题就在于,如何能更加灵活地对浏 览器的消息进行处理,以更好地实现浏览器的功能。
技术实现思路
本专利技术提供了一种浏览器消息处理方法及装置,能够更加灵活地对浏览器的消息 进行处理,以更好地实现浏览器的功能。 本专利技术提供了如下方案: -种浏览器消息处理方法,其特征在于,包括: 应用程序创建一消息队列; 从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所述应用 程序创建的消息队列中; 判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置 条件的消息进行顺序调整; 按照所述应用程序创建的消息队列中各消息的顺序,将各个消息分发到浏览器相 应的窗口进行处理。 优选地,上述方法还包括: 从操作系统为浏览器线程创建的消息队列中取出当前的所有消息之后,将所述取 出的消息从所述操作系统创建的消息队列中清除。 优选地,所述判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将 所符合预置条件的消息进行顺序调整包括: 判断所述取出的消息中是否存在需要由当前处于焦点的窗口处理的消息,如果存 在,则将该消息调整到消息队列的前端。 优选地,所述判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将 所符合预置条件的消息进行顺序调整包括: 判断所述取出的消息中是否存在与用户交互相关的消息,如果存在,则将该消息 调整到消息队列的前端。 优选地,所述判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将 所符合预置条件的消息进行顺序调整包括: 判断所述取出的消息中是否存在需要在第一消息之前处理的第二消息,如果存 在,则将所述第二消息调整到所述第一消息之前。 一种消息处理装置,其特征在于,包括: 队列创建单元,用于应用程序创建一消息队列; 消息取出单元,用于从操作系统为浏览器线程创建的消息队列中取出当前的所有 消息,放入所述应用程序创建的消息队列中; 顺序调整单元,用于判断所述取出的消息中是否存在符合预置条件的消息,如果 存在,将所符合预置条件的消息进行顺序调整; 消息分发单元,用于按照所述应用程序创建的消息队列中各消息的顺序,将各个 消息分发到浏览器相应的窗口进行处理。 优选地,上述消息处理装置还包括: 清除单元,用于从操作系统为浏览器线程创建的消息队列中取出当前的所有消息 之后,将所述取出的消息从所述操作系统创建的消息队列中清除。 优选地,所述顺序调整单元包括: 第一调整子单元,用于判断所述取出的消息中是否存在需要由当前处于焦点的窗 口处理的消息,如果存在,则将该消息调整到消息队列的前端。 优选地,所述顺序调整单元包括: 第二调整子单元,用于判断所述取出的消息中是否存在与用户交互相关的消息, 如果存在,则将该消息调整到消息队列的前端。 优选地,所述顺序调整单元包括: 第三调整子单元,用于判断所述取出的消息中是否存在需要在第一消息之前处理 的第二消息,如果存在,则将所述第二消息调整到所述第一消息之前。 根据本专利技术提供的具体实施例,本专利技术达到了以下技术效果: 通过本专利技术实施例,由于应用程序可以自行创建消息队列,并将操作系统为浏览 器线程创建的消息队列中的当前消息取出,放入该自行创建的消息队列中,从而使得消息 的先后执行顺序是可以调整的,而不是一律地按照操作系统中规定的先到先处理的原则, 这样,可以更加灵活地对消息队列中的消息进行处理。例如,可以使得一些实时外部事件得 到及时处理,并且,如果出现有些在后到达的消息必须赶在另一些在先到达的消息之前处 理才能达到预定效果的情况,则可以将在后到达的消息提到在先到达的消息之前,从而达 到预定效果。 【专利附图】【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。 图1是本专利技术实施例提供的方法的流程图; 图2是本专利技术实施例提供的装置的示意图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的 范围。 参见图1,本专利技术实施例首先提供了一种浏览器消息处理方法,该方法可以应用 于一应用程序中(该应用程序可以是为实现该消息处理功能开发的一种应用程序,也可以 是在已有浏览器基础上增加该消息处理功能,等等),具体实现时,该方法可以包括以下步 骤: S101 :应用程序创建一消息队列; 该消息队列是由应用程序自己创建的,因此,应用程序可以自行决定其中的消息 以怎样的顺序进行排列,还可以自行对顺序进行调整。 S102:从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所 述应用程序创建的消息队列中; 为了更好地理解该步骤,下面首先对操作系统中的消息处理过程进行本文档来自技高网...
【技术保护点】
一种浏览器消息处理方法,其特征在于,包括:应用程序创建一消息队列;从操作系统为浏览器线程创建的消息队列中取出当前的所有消息,放入所述应用程序创建的消息队列中;判断所述取出的消息中是否存在符合预置条件的消息,如果存在,将所符合预置条件的消息进行顺序调整;按照所述应用程序创建的消息队列中各消息的顺序,将各个消息分发到浏览器相应的窗口进行处理。
【技术特征摘要】
【专利技术属性】
技术研发人员:唐曦,孙鹏,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。