一种消息处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种消息处理方法及装置。
【背景技术】
[0002]Windows的消息发送方式可以分为两种:一种为同步方式,即通过调用SendMessage函数将消息发送给目标窗口后,待目标窗口处理完该消息后,将响应消息返回给模拟程序对应的进程,以便模拟程序对应的进程执行下一个模拟操作;一种为异步方式,即通过调用PostMessage将消息发送给目标窗口后,模拟程序对应的进程直接执行下一个模拟操作。例如,目标窗口中已显示有一个第一菜单栏,预期的效果为:当用户在目标窗口中且该第一菜单栏以外的空白区域点击右键时,在目标窗口在该第一菜单栏以外的空白区域建立第二菜单栏。然而,现有技术在采用异步方式时,模拟程序不等待目标窗口处理上述右键点击发出的点击消息,就去操作第二菜单栏。此时找到的弹出菜单可能是第一菜单栏,也可能刚好遇到第一菜单消失而第二菜单未出现,导致找不到第一菜单或第二菜单。这两种情况都不是模拟程序预期的效果。
[0003]因此,采用同步方式处理Windows的消息时,当目标窗口出现“卡死”现象时,会导致模拟程序对应的进程也会因等待目标窗口处理消息而出现“卡死”现象;采用异步方式处理Windows的消息时,模拟程序不等待目标窗口处理完消息即执行下一个模拟操作,从而影响下一个模拟操作执行后的效果。
【发明内容】
[0004]本发明的实施例提供一种消息处理方法及装置,能够解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”问题,以及解决当模拟程序不等目标窗口处理完消息便执行下一个模拟操作,导致因执行过快影响下一个模拟操作执行后的效果的问题。
[0005]第一方面,本发明的实施例提供一种消息处理方法,包括:
[0006]以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息;
[0007]以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;
[0008]设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。
[0009]第二方面,本发明的实施例提供一种消息处理装置,包括:
[0010]发送单元,用于以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息;
[0011]设置单兀,用于设置预设时间;
[0012]所述发送单元,还用于以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;
[0013]第一处理单元,用于当在所述设置单元设置的所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。
[0014]本发明提供的消息处理方法及装置,能够通过以寄送方式发送模拟操作对应的消息到目标窗口 ;以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。由于系统设置中即时消息的优先级低于模拟操作对应的消息,因此通过获知辅助窗口接收到处理优先级较低的计时消息,从而执行下一个模拟操作,使得可以解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”现象,以及解决当模拟程序不等目标窗口处理完消息便执行下一个模拟操作,导致因执行过快影响下一个模拟操作执行后的效果的问题
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本发明实施例提供的一种消息处理方法的流程图;
[0017]图2为本发明实施例提供的另一种消息处理方法的流程图;
[0018]图3为本发明实施例提供的另一种消息处理方法的流程图;
[0019]图4为本发明实施例提供的一种消息处理装置的框图;
[0020]图5为本发明实施例提供的另一种消息处理装置的框图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]本发明实施例提供一种消息处理方法,该方法的执行主体可以为模拟程序对应的进程,如图1所示,该方法包括:
[0023]步骤101,以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息。
[0024]可选的,在本步骤之前,模拟程序对应的进程可以通过现有技术的技术方案使目标窗口创建一个辅助窗口,此辅助窗口用于接收以及处理来自模拟程序对应的进程发送的消息。当然还可以采用其他的技术实现,本实施例不限制采用的技术,可以使得目标窗口创建辅助窗口的技术。
[0025]可选的,以寄送方式发送模拟操作对应的消息到目标窗口,即通过调用PostMessage函数将模拟操作对应的消息发送给目标窗口。
[0026]可选的,例如,模拟操作为模拟点击操作,则模拟操作对应的消息可以为点击消肩、O
[0027]步骤102,以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同。
[0028]可选的,以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,即通过调用PostMessage函数将计时消息发送给辅助窗口。
[0029]可选的,模拟操作对应的消息的处理优先级比计时消息的处理优先级高,因此当所述辅助窗口与所述目标窗口对应的消息队列中存在模拟操作对应的消息以及计时消息时,优先处理模拟操作对应的消息。
[0030]进一步可选的,所述辅助窗口与所述目标窗口对应的进程会通过一段循环代码读取消息队列中的各个消息,并将消息发送给对应的窗口,例如,将模拟操作对应的消息发送给目标窗口,将计时消息发送给辅助窗口。
[0031]步骤103,设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。
[0032]可选的,由于模拟操作对应的消息的处理优先级比计时消息的处理优先级高,因此模拟程序对应的进程获知所述辅助窗口接收到所述计时消息时,说明目标窗口已经接收到模拟操作对应的消息,或者,说明目标窗口已经接收并且处理完成所述模拟操作对应的消息,或者,说明目标窗口在处理所述模拟操作对应的消息过程中产生的其他消息也已经被其他相关窗口接收并处理,因此,模拟程序对应的进程可以继续执行下一个模拟操作。
[0033]当在设置的预设时间内,模拟程序对应的进程未获知所述辅助窗口接收到所述计时消息时,也继续执行下一个模拟操作,即模拟程序对应的进程不再等待所述辅助窗口接收所述计时消息。
[0034]本发明提供的消息处理方法,能够通过以寄送方式发送模拟操作对应的消息到目标窗口 ;以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。由于系统设置中即时消息的优先级低于模拟操作对应的消息,因此通过获知辅助窗口接收到处理优先级较低的计时消息,从而执行下一个模拟操作,使得可以解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”现象,以及解决当模拟程序不等目标窗口处理完消息便执行下一个模拟操作,导致因执行过快影响下一个模拟操作执行后的效果的问题。
[0035]本发明实施例提供另一种消息处理方法,如图2所示,该方法包括:
[0036]步骤201,模拟程序对应的进程通过现有技术方案使所述目标窗口所在的进程创建所述辅助窗口。
[0037]步骤202,模拟程序对应的进程以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息。
[0038]可选的,模拟程序对应的进程以调用PostMessage
函数的方式将模拟操作对应的消息发送到目标窗口对应的消息队列中。
[0039]可选的,目标窗口接收到模拟操作对应的消息后,处理此消息。需要说明的是,如果处理消息过程中产生一些与目标窗口同在一个进程的其他窗口需要处理的消息,则操作系统会将产生的消息寄送到进程的消息队列中,由其他的窗口进行处理。
[0040]步骤203,模拟程序对应的进程创建系统信号,并设置所述系统信号的值为第一值;或者,设置所述系统信号的值为第一值。
[0041]可选的,系统信号用于所述目标窗口和所述辅助窗口对应的进程与所述模拟程序对应的进程之间的通信方式,以便所述模拟程序对应的进程获知所述辅助窗口接收到了所述计时消息。
[0042]可选的,当模拟程序对应的进程未创建系统信号时,则需要先创建一个系统信号,然后将创建的系统信号的值置为第一值。可选的,第一值可以为0,当然第一值还可以为其他的值,只要设置的第一值与后续辅助窗口接收到及时消息后改变的系统信号的值不同即可。例如第一值可以为I。
[0043]可选的,当模拟程序对应的进程已经创建了系统信号,此时仅需将系统信号的值设置为第一值。
[0044]步骤204,模拟程序设置预设时间。
[0045]可选的,模拟操作对应的消息的处理优先级比计时消息的处理优先级高,因此当所述辅助窗口与所述目标窗口对应的消息队列中存在模拟操作对应的消息以及计时消息时,优先处理模拟操作对应的消息。
[0046]步骤205,模拟程序对应的进程以寄送方式发送计时消息到所述目标窗口创建的辅助窗口。
[0047]所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同。
[0048]具体的,模拟程序对应的进程以调用PostMessage函数的方式将计时消息发送到所述目标窗口创建的辅助窗口所在的进程的消息队列。
[0049]可选的,模拟程序对应的进程以寄送方式发送计时消息到所述目标窗口创建的辅助窗口之后,模拟程序对应的进程等待系统信号的值被修改。
[0050]步骤206,辅助窗口接收到计时消息后,设置系统信号的值为第二值。
[0051]可选的,第二值为与第一值不同的值,例如第一值为O时,第二值可以为I。第一值为I时,第二值可以为O。
[0052]需要说明的是,由于模拟操作对应的消息在进程内的处理优先级比计时消息在进程内的处理优先级要高,因此当辅助窗口接收到计时消息时,发送给目标窗口的模拟操作对应的消息可被确定已经被目标窗口接收,或者说明目标窗口已经接收并且处理完成所述模拟操作对应的消息,或者,说明目标窗口在处理所述模拟操作对应的消息过程中产生的其他消息也已经被其他相关窗口接收并处理,因此,当前的操作效果在目标窗口已被很好地实现,即达到理想的操作同步效果,模拟程序对应的进程可以继续执行下一个模拟操作。
[0053]步骤207,在预设时间内,模拟程序对应的进程监测到所述系统信号的值为第二值时,继续执行下一个模拟操作。
[0054]可选的,模拟程序对应的进程可以定期监测辅助窗口所在的进程,以便可以及时监测到系统信号的值被修改,及时执行下一个模拟操作。
[0055]进一步可选的,当在设置的预设时间内,模拟程序对应的进程未获知所述辅助窗口接收到所述计时消息时,也继续执行下一个模拟操作,即模拟程序对应的进程不再等待所述辅助窗口接收所述计时消息。
[0056]需要说明的是,本实施例中模拟程序对应的进程以系统信号的值判断是否执行下一个模拟操作,还可以采用共享内存的方式执行,即模拟程序对应的进程也是以存储在内存中的参数的值判断是否执行下一个模拟操作,执行方式与本实施例相同,在此不再一一赘述。
[0057]本发明提供的消息处理方法,能够通过以寄送方式发送模拟操作对应的消息到目标窗口 ;以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。由于系统设置中即时消息的优先级低于模拟操作对应的消息,因此通过获知辅助窗口接收到处理优先级较低的计时消息,从而执行下一个模拟操作,使得可以解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”现象,以及解决当模拟程序不等目标窗口处理完消息便执行下一个模拟操作,导致因执行过快影响下一个模拟操作执行后的效果的问题。
[0058]本发明实施例提供一种消息处理方法,如图3所示,该方法包括:
[0059]步骤301,模拟程序对应的进程通过现有技术方案使所述目标窗口所在的进程创建所述辅助窗口。
[0060]步骤302,模拟程序对应的进程以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息。
[0061]步骤301、步骤302与附图2中步骤201、步骤202相同,在此不再——赘述。
[0062]步骤303,模拟程序对应的进程向辅助窗口发送系统消息。
[0063]所述系统消息用于通知所述辅助窗口接收到所述计时消息后反馈响应消息,所述响应消息为所述辅助窗口因接收到所述计时消息而反馈的消息。
[0064]步骤304,模拟程序对应的进程设置预设时间。
[0065]步骤305,模拟程序对应的进程以寄送方式发送计时消息到所述目标窗口创建的辅助窗口。
[0066]步骤306,辅助窗口接收到计时消息后,向所述模拟程序对应的进程发送响应消息。
[0067]所述响应消息为所述辅助窗口因接收到所述计时消息而反馈的消息。需要说明的是,由于模拟操作对应的消息在进程内的处理优先级比计时消息在进程内的处理优先级要高,因此当辅助窗口接收到计时消息时,发送给目标窗口的模拟操作对应的消息可被确定已经被目标窗口接收,或者说明目标窗口已经接收并且处理完成所述模拟操作对应的消息,或者,说明目标窗口在处理所述模拟操作对应的消息过程中产生的其他消息也已经被其他相关窗口接收并处理,因此,当前的操作效果在目标窗口已被很好地实现,即达到理想的操作同步效果,模拟程序对应的进程可以继续执行下一个模拟操作。
[0068]步骤307,当在所述预设时间内模拟程序对应的进程接收到所述辅助窗口发送的所述响应消息时,继续执行下一个模拟操作。
[0069]进一步可选的,当在设置的预设时间内,模拟程序对应的进程未接收到所述辅助窗口发送的响应消息时,也继续执行下一个模拟操作,即模拟程序对应的进程不再等待所述辅助窗口接收所述计时消息。
[0070]需要说明的是,本实施例中模拟程序对应的进程以系统消息传递的方式确定是否执行下一个模拟操作,还可以采用Socket (套接字)、Pipe (管道)或者远程过程调用(RemoteProcedure Call Protocol,RPC)的方式执行,即模拟程序对应的进程也是以消息传递的方式判断是否执行下一个模拟操作,执行方式与本实施例相同,在此不再一一赘述。
[0071]本发明提供的消息处理方法,能够通过以寄送方式发送模拟操作对应的消息到目标窗口 ;以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。由于系统设置中即时消息的优先级低于模拟操作对应的消息,因此通过获知辅助窗口接收到处理优先级较低的计时消息,从而执行下一个模拟操作,使得可以解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”现象,以及解决当模拟程序不等目标窗口处理完消息便执行下一个模拟操作,导致因执行过快影响下一个模拟操作执行后的效果的问题。
[0072]本发明实施例提供一种消息处理方法装置,所述装置可以为模拟程序对应的进程,如图4所示,所述装置包括:发送单元401,设置单元402,第一处理单元403 ;
[0073]发送单元401,用于以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息;
[0074]设置单元402,用于设置预设时间;
[0075]所述发送单元401,还用于以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;
[0076]第一处理单元403,用于当在所述设置单元402设置的所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。
[0077]进一步可选的,在所述发送单元401所述以寄送方式发送计时
消息到所述目标窗口创建的辅助窗口之前,所述设置单元402,还用于设置所述目标窗口和所述辅助窗口对应的进程与所述模拟程序对应的进程之间的通信方式,以便所述模拟程序对应的进程获知所述辅助窗口接收到了所述计时消息。
[0078]进一步可选的,所述通信方式至少包括通过系统信号进行进程间通信、通过系统消息进行进程间通信。
[0079]进一步可选的,如图5所示,所述设置单元402,包括:创建模块4021,设置模块4022。
[0080]创建模块4021,用于创建所述系统信号,设置模块4022,用于设置所述系统信号的值为第一值;或者,
[0081]设置模块4022,用于设置所述系统信号的值为第一值;或者,
[0082]所述发送单元401,用于发送系统消息,所述系统消息用于通知所述辅助窗口接收到所述计时消息后反馈响应消息,所述响应消息为所述辅助窗口因接收到所述计时消息而反馈的消息。
[0083]进一步可选的,所述处理单元401,用于:
[0084]当在所述预设时间内监测到所述系统信号的值为第二值时,继续执行下一个模拟操作。
[0085]进一步可选的,所述处理单元401,用于:
[0086]当在所述预设时间内接收到所述辅助窗口发送的所述响应消息时,继续执行下一个模拟操作。
[0087]需要说明的是,附图4或者附图5所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
[0088]本发明提供的消息处理装置,能够通过以寄送方式发送模拟操作对应的消息到目标窗口 ;以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。由于系统设置中即时消息的优先级低于模拟操作对应的消息,因此通过获知辅助窗口接收到处理优先级较低的计时消息,从而执行下一个模拟操作,使得可以解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”现象,以及解决当模拟程序不等目标窗口处理完消息便执行下一个模拟操作,导致因执行过快影响下一个模拟操作执行后的效果的问题。
[0089]需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0090]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)>磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0091]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0092]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1.一种消息处理方法,其特征在于,包括: 以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息; 以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同; 设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。2.根据权利要求1所述的方法,其特征在于,在所述以寄送方式发送计时消息到所述目标窗口创建的辅助窗口之前,还包括: 设置所述目标窗口和所述辅助窗口对应的进程与所述模拟程序对应的进程之间的通信方式,以便所述模拟程序对应的进程获知所述辅助窗口接收到了所述计时消息。3.根据权利要求2所述的方法,其特征在于,所述通信方式至少包括通过系统信号进行进程间通信、通过系统消息进行进程间通信。4.根据权利要求3所述的方法,其特征在于,所述设置所述目标窗口和所述辅助窗口对应的进程与所述模拟程序对应的进程之间的通信方式,包括: 创建所述系统信号,并设置所述系统信号的值为第一值;或者, 设置所述系统信号的值为第一值;或者, 发送系统消息,所述系统消息用于通知所述辅助窗口接收到所述计时消息后反馈响应消息,所述响应消息为所述辅助窗口因接收到所述计时消息而反馈的消息。5.根据权利要求4所述的方法,其特征在于,所述当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作,包括: 当在所述预设时间内监测到所述系统信号的值为第二值时,继续执行下一个模拟操作。6.根据权利要求4所述的方法,其特征在于,所述当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作,包括: 当在所述预设时间内接收到所述辅助窗口发送的所述响应消息时,继续执行下一个模拟操作。7.一种消息处理装置,其特征在于,包括: 发送单元,用于以寄送方式发送模拟操作对应的消息到目标窗口,以便所述目标窗口接收并处理所述消息; 设置单元,用于设置预设时间; 所述发送单元,还用于以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同; 处理单元,用于当在所述设置单元设置的所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。8.根据权利要求7所述的装置,其特征在于, 所述设置单元,还用于设置所述目标窗口和所述辅助窗口对应的进程与所述模拟程序对应的进程之间的通信方式,以便所述模拟程序对应的进程获知所述辅助窗口接收到了所述计时消息。9.根据权利要求8所述的装置,其特征在于,所述通信方式至少包括通过系统信号进行进程间通信、通过系统消息进行进程间通信。10.根据权利要求9所述的装置,其特征在于,所述设置单元,包括: 创建模块,用于创建所述系统信号,设置模块,用于设置所述系统信号的值为第一值;或者, 设置模块,用于设置所述系统信号的值为第一值;或者, 所述发送单元,用于发送系统消息,所述系统消息用于通知所述辅助窗口接收到所述计时消息后反馈响应消息,所述响应消息为所述辅助窗口因接收到所述计时消息而反馈的消息。11.根据权利要求10所述的装置,其特征在于,所述处理单元,用于: 当在所述预设时间内监测到所述系统信号的值为第二值时,继续执行下一个模拟操作。12.根据权利要求10所述的装置,其特征在于,所述处理单元,用于: 当在所述预设时间内接收到所述辅助窗口发送的所述响应消息时,继续执行下一个模拟操作。
【专利摘要】本发明公开一种消息处理方法及装置,涉及信息技术领域,使得可以解决因目标窗口出现“卡死”现象导致的模拟程序对应的进程而出现的“卡死”现象,以及解决当目标窗口的状态发生改变导致影响模拟程序对应的进程处理下一个模拟操作的情况。本发明以寄送方式发送模拟操作对应的消息到目标窗口;以寄送方式发送计时消息到所述目标窗口创建的辅助窗口,所述辅助窗口与所述目标窗口在同一个进程中,并且所述辅助窗口与所述目标窗口对应的消息队列相同;设置预设时间,当在所述预设时间内获知所述辅助窗口接收到所述计时消息时,继续执行下一个模拟操作。本发明适于对消息进行处理时采用。
【IPC分类】G06F9/48
【公开号】CN104899088
【申请号】CN201410075643
【发明人】潘在亮, 赖勇辉
【申请人】腾讯科技(深圳)有限公司
【公开日】2015年9月9日
【申请日】2014年3月3日