键鼠脚本回放的方法及装置制造方法及图纸

技术编号:14275696 阅读:71 留言:0更新日期:2016-12-24 17:30
本发明专利技术公开了一种键鼠脚本回放的方法及装置,涉及互联网技术领域,为解决托管模式下用户无法对鼠标或键盘进行操作的问题而发明专利技术。本发明专利技术的主要技术方案包括:在托管模式下,检测用户触发的键鼠操作指令;若检测到键鼠操作指令,则通过播放引擎接管键鼠操作指令,其中,播放引擎用于执行键鼠脚本;通过播放引擎将键鼠操作指令转换为消息指令,并通过播放引擎将消息指令发送给对应的窗口进行执行。本发明专利技术主要应用于Windows操作系统下的键鼠脚本回放过程中。

【技术实现步骤摘要】

本专利技术涉及互联网
,特别是涉及一种键鼠脚本回放的方法及装置
技术介绍
用户在操作游戏界面时,键盘和鼠标作为必不可少的输入设备,一般情况下需要重复执行某些键盘鼠标(简称为“键鼠”)操作,例如,某游戏在任务升级过程中,需要通过重复点击鼠标左键控制游戏中的角色的前进方向,在控制角色前进的同时还需要通过重复点击键盘上的某些按键控制游戏中的角色进行攻击,在该过程中用户需要不断重复进行繁琐的键鼠操作。为了简化用户重复执行键鼠操作,可以在用户首次进行键鼠操作时对用户执行的键鼠操作进行脚本录制,获得键鼠脚本后,由计算机对键鼠脚本进行回放,模拟用户此前执行的键鼠操作,实现键鼠操作的自动执行,由此简化用户的操作步骤。通常,键鼠脚本是以事件为单位进行录制的,除了鼠标移动和鼠标滚轮以外,键盘或鼠标的按下、放开均为一个独立的事件。在实际进行脚本回放时,可以以托管模式进行回放来模拟用户执行的键鼠操作,由于托管模式是基于键鼠光标进行的脚本执行,而键鼠光标是全局光标,整个桌面中只有一个,该光标由事件的执行结果所控制,因此在键鼠脚本执行过程中无需对目的窗口进行识别,即无需对键鼠操作所针对的对象窗口进行识别。在上述键鼠脚本回放过程中,专利技术人发现:在托管模式下进行键鼠脚本回放时,在两个连续键鼠脚本事件的时间间隔内,用户可以插入手动操作,例如,用户可以将光标移出目的窗口,点击某聊天应用程序,并在聊天窗口的编辑区域内输入文字信息。如前所述,托管模式控制的光标是全局光标,如果在事件之间的时间间隔内用户执行了键鼠操作,那么当键鼠脚本执行到下一个事件时,事件的执行会将用户操作的光标强行移动至目的窗口中对应该事件的位置上。此时,用户正在执行输入文字信息的操作
会停止执行,因此在托管模式下用户无法对鼠标或键盘进行操作。
技术实现思路
有鉴于此,本专利技术实施例提供一种键鼠脚本回放的方法及装置,主要目的在于解决托管模式下用户无法对鼠标或键盘进行操作的问题。依据本专利技术一个方面,提供了一种键鼠脚本回放的方法,包括:在托管模式下,检测用户触发的键鼠操作指令;若检测到键鼠操作指令,则通过播放引擎接管键鼠操作指令,其中,播放引擎用于执行键鼠脚本;通过播放引擎将键鼠操作指令转换为消息指令,并通过播放引擎将消息指令发送给对应的窗口进行执行。根据本专利技术的另一个方面,提供了一种键鼠脚本回放的装置,包括:检测单元,用于在托管模式下,检测用户触发的键鼠操作指令;接管单元,用于当检测单元检测到键鼠操作指令时,通过播放引擎接管键鼠操作指令,其中,播放引擎用于执行键鼠脚本;转换单元,用于通过接管单元中的播放引擎将键鼠操作指令转换为消息指令;发送单元,用于通过播放引擎将转换单元转换的消息指令发送给对应的窗口进行执行。借由上述技术方案,本专利技术提供的键鼠脚本回放的方法及装置,在托管模式下进行键鼠脚本回放的过程中,当检测到用户触发的键鼠操作指令时,通过播放引擎接管该键鼠操作指令,将该键鼠操作指令转换为消息指令,并发送给对应的窗口进行执行。与现有技术相比,本专利技术能够采用后台模式传递并执行用户触发的键鼠操作指令,由于后台模式是以向窗口发送消息指令为机制的,不涉及对全局光标的控制和抢夺,不会对托管模式下的回放过程造成干扰,因此,本专利技术能够在键鼠脚本回放过程中,实现用户能够对鼠标或键盘进行操作。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和
其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种键鼠脚本回放的方法的流程图;图2示出了本专利技术实施例提供的在托管模式下用户对键盘进行操作的示意图;图3示出了本专利技术实施例提供的一种检测用户触发的键鼠操作指令的方法的流程图;图4示出了本专利技术实施例提供的一种键鼠脚本回放的装置的组成框图;图5示出了本专利技术实施例提供的另一种键鼠脚本回放的装置的组成框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。键鼠脚本回放模式包括托管模式和后台模式。现有技术中,托管模式的键鼠光标是全局光标,该全局光标由键鼠事件的执行结果所控制。在托管模式的回放过程中,用户可以在两个连续键鼠脚本事件的时间间隔内,手动插入键鼠操作指令,由于键鼠光标是全局光标,整个桌面只有一个,当键鼠脚本执行到下一个键鼠事件时,键鼠脚本执行所控制的光标“抢夺”用户触发的键鼠操作指令,键鼠事件的执行会将用户的键鼠操作指令强行移至下一个键鼠脚本事件的位置上,此时,用户正在执行的键鼠操作指令
会被强制停止执行,导致在键鼠脚本回放过程中无法对键盘或鼠标进行操作。有鉴于此,本专利技术实施例提供一种键鼠脚本回放的方法,该方法能够解决在托管模式下用户无法对键盘或鼠标进行操作的问题,如图1所示,该方法包括:101、在托管模式下,检测用户触发的键鼠操作指令。本专利技术实施例中,在键鼠脚本回放过程中需要判断是否存在键鼠操作指令,如果用户触发了键鼠操作指令,则执行步骤102,将其进行托管,以防对键鼠脚本的回放造成干扰。其中,该键鼠操作指令为用户手动触发键盘、鼠标所产生的操作指令。102、若检测到键鼠操作指令,则通过播放引擎接管键鼠操作指令。在检测到存在用户触发的键鼠操作指令后,不能确定该键鼠操作指令具体的位置,因此,在没有确定该键鼠操作指令的具体位置之前,需通过播放引擎将该键鼠操作指令进行接管,其目的在于,当用户触发键鼠操作指令时,避免对键鼠脚本的回放造成干扰。其中,播放引擎还用于执行键鼠脚本。在键鼠脚本回放过程中,首先通过播放引擎对键鼠脚本进行解析,将其解析成一条条能够被计算机识别的机器指令,并通过播放引擎将解析后的键鼠脚本进行顺序执行,直到执行完整个键鼠脚本。103、通过播放引擎将键鼠操作指令转换为消息指令,并通过播放引擎将消息指令发送给对应的窗口进行执行。本专利技术实施例中,为避免用户手动触发的键鼠操作指令干扰正在执行的键鼠脚本,需要通过播放引擎将键鼠操作指令转换为消息指令,播放引擎将转换后的消息指令发送给该对应的窗口进行执行,实现托管模式下用户能够对键盘或鼠标进行操作。在获得键鼠操作指令时,播放引擎获取该键鼠操作指令的描述信息(action信息),将描述信息解析为特定应用程序编程接口(Application Programming Interface,API)可以识别的列表或参数,然后通过特定API对该列表或参数进行调用。实际应用中,上述特定API可以是“::SendMessage”和/或“::PostMessage”,本实施例
对此不作限制。本实施例中,用户可以触发针对目的窗口的键鼠操作指令,也可以触发针对目的窗口之外的其本文档来自技高网
...
键鼠脚本回放的方法及装置

【技术保护点】
一种键鼠脚本回放的方法,其特征在于,所述方法包括:在托管模式下,检测用户触发的键鼠操作指令;若检测到所述键鼠操作指令,则通过播放引擎接管所述键鼠操作指令,其中,所述播放引擎用于执行键鼠脚本;通过所述播放引擎将所述键鼠操作指令转换为消息指令,并通过所述播放引擎将所述消息指令发送给对应的窗口进行执行。

【技术特征摘要】
1.一种键鼠脚本回放的方法,其特征在于,所述方法包括:在托管模式下,检测用户触发的键鼠操作指令;若检测到所述键鼠操作指令,则通过播放引擎接管所述键鼠操作指令,其中,所述播放引擎用于执行键鼠脚本;通过所述播放引擎将所述键鼠操作指令转换为消息指令,并通过所述播放引擎将所述消息指令发送给对应的窗口进行执行。2.根据权利要求1所述的方法,其特征在于,所述检测用户触发的键鼠操作指令,包括:接收底层发送的执行指令;判断所述执行指令是否携带有事件标识,所述事件标识用于对所述键鼠脚本中的键鼠事件进行标记;若所述执行指令没有携带事件标识,则确定所述执行指令为所述键鼠操作指令。3.根据权利要求1所述的方法,其特征在于,在所述通过所述播放引擎将所述键鼠操作指令转换为消息指令之前,所述方法进一步包括:判断所述键鼠操作指令对应的操作焦点是否位于目的窗口中,所述目的窗口为键鼠脚本回放的对象窗口;若所述操作焦点位于所述目的窗口中,则通过所述播放引擎屏蔽所述键鼠操作指令;所述通过所述播放引擎将所述消息指令发送给对应的窗口进行执行,包括:若所述操作焦点不位于所述目的窗口中,则通过所述播放引擎将所述消息指令发送给所述目的窗口之外的其他窗口进行执行。4.根据权利要求3所述的方法,其特征在于,所述判断所述键鼠操作指令对应的操作焦点是否位于目的窗口中,包括:获取所述操作焦点的坐标;根据所述坐标获取所述操作焦点所在窗口的窗口句柄;将所述窗口句柄与目的窗口的窗口句柄进行比对;若比对结果一致,则确定所述操作焦点位于所述目的窗口中;若比对结果不一致,则确定所述操作焦点不位于所述目的窗口中。5.根据权利要求4所述的方法,其特征在于,所述操作焦点为鼠标指针,所述获取所述操作焦点的坐标包括:获取wind...

【专利技术属性】
技术研发人员:葛山于晓峰王雪田杰陈佃晓
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1