远程协助过程中的指令控制方法及装置制造方法

文档序号:6630209阅读:251来源:国知局
远程协助过程中的指令控制方法及装置制造方法
【专利摘要】本发明公开了远程协助过程中的指令控制方法及装置,其中,所述方法包括:在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息;被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息;根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。通过本发明,能够使得在模拟技师操作的远程协助过程中向被控制端发送指令时,适应被控制端的各种不同屏幕分辨率,保证指令的有效性。
【专利说明】远程协助过程中的指令控制方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及远程协助过程中的指令控制方法及装置。

【背景技术】
[0002]随着计算机技术的不断发展,电脑等计算机设备几乎成了人们生活中必备的工具。但是,对于很多用户而言,对电脑的了解仅限于应用层面,却不懂对电脑进行维护,一旦电脑出现故障,更加束手无策。为此,一些服务商为用户提供了远程协助服务,用户只要在自己的电脑上安装服务商提供的远程协助客户端,就可以与服务商的技师进行沟通,技师可以帮助普通电脑用户解决软件和系统问题,例如系统优化、系统补丁升级、驱动安装、恶意插件清理、病毒/木马查杀、系统基础设置、软件下载、软件安装、网络故障调试等等。
[0003]在实现过程中,用户可以通过远程协助客户端与技师建立联系。然后,用户可以选择让技师接管对电脑的操作,这样,技师可以远程接管用户的电脑,为用户进行操作。然而,工程师在为用户解决某软件或系统问题时,通常需要执行很多操作,因此,在现有技术中,一般需要工程师为用户提供一对一的服务,也即,一个工程师只有在为一个用户解决完某问题之后,才能为其他用户服务。但是,网络中的用户数目众多,经常会出现众多的用户同时发起远程协助请求的情况,此时,如果技师的人数不足,则会造成用户的等待,影响远程协助功能的时效性,而如果增加技师的数量又会增加人力成本。
[0004]为了解决上述问题,本发明人提出了一种模拟技师操作的技术,关于该技术,本 申请人:正作为一件单独的专利另行申请。在这种模拟技师操作的技术中,在技师侧,用户只要将自己需要解决的问题以对话的方式告诉给技师,技师就可以选择出解决相应问题的脚本,然后由程序模拟技师的操作,完成协助工作。这样,就可以减少技师的工作量,使得技师在相同的时间内,可以为多个用户提供远程协助服务,便于提高远程协助功能的时效性。
[0005]但是在模拟技师操作的过程中可能会存在以下问题:在远程协助的过程中,需要从技师侧向用户侧发送指令,由用户侧执行该指令。技师侧发送的指令中,经常会涉及到将鼠标移动到某位置处的情况,在真正由技师进行操作的情况下,技师能够看到用户侧的屏幕状态,并由技师在自己的显示屏上显示出的用户侧屏幕上执行移动鼠标的操作,技师侧程序可以通过捕获鼠标在屏幕上的移动位置,来向用户侧发出指令,以便用户侧执行。但是,在模拟技师操作的情况下,技师侧的操作是由程序执行的,但程序无法向人眼一样直观地看到用户侧的屏幕,因此,如何提供一种方式,使得程序能够获知需要将鼠标移动到什么位置,是迫切需要本领域技术人员解决的问题。


【发明内容】

[0006]本发明提供了远程协助过程中的指令控制方法及装置,能够使得在模拟技师操作的远程协助过程中向被控制端发送指令时,适应被控制端的各种不同屏幕分辨率,保证指令的有效性。
[0007]本发明提供了如下方案:
[0008]一种远程协助过程中的指令控制方法,包括:
[0009]在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息;
[0010]被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息;
[0011]根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。
[0012]其中,所述目标操作对象包括目标应用程序窗口中的目标可操作标识;所述指令中携带的关于所述目标操作对象的描述信息包括:所述目标应用程序以及所述目标可操作标识的名称;所述根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置包括:
[0013]根据当前打开的各个窗口的窗口句柄,获取到各个窗口的标题名称;
[0014]将从所述指令中解析得到的目标应用程序的名称与所述各个窗口的标题名称进行匹配,将匹配成功的窗口确定为目标应用程序的窗口 ;
[0015]在所述目标应用程序的窗口中查找所述目标可操作标识的位置。
[0016]其中,所述在所述目标应用程序的窗口中查找所述目标可操作标识的位置包括:
[0017]抓取所述目标应用程序的窗口中包含的各个可操作标识上显示的文字;
[0018]将从所述指令中解析得到的目标可操作标识的名称与所述各个可操作标识上显示的文字进行匹配,将匹配成功的可操作标识所在的位置确定为目标可操作标识的位置。
[0019]其中,所述在所述目标应用程序的窗口中查找所述目标可操作标识的位置包括:
[0020]查询预先保存的可操作标识与应用程序窗口之间的相对位置关系,获取所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系;
[0021 ] 根据所述目标应用程序的窗口所在的位置,以及所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系,确定所述目标可操作标识的位置。
[0022]其中,当所述目标应用程序存在至少两个版本时,所述预先保存的可操作标识与应用程序窗口之间的相对位置关系为:以其中任一版本为标准保存的可操作标识与应用程序窗口之间的相对位置关系,所述方法还包括:
[0023]将所述光标移动到确定出的目标可操作标识的位置处之后,判断在此位置执行操作时是否能够得到响应;
[0024]如果不能,则在所述确定出的目标可操作标识的位置周围预置范围内进行尝试,直到执行操作时得到响应。
[0025]一种远程协助过程中的指令控制装置,包括:
[0026]指令发送单元,用于在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息;
[0027]指令解析单元,用于被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息;
[0028]位置确定单元,用于根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。
[0029]其中,所述目标操作对象包括目标应用程序窗口中的目标可操作标识;所述指令中携带的关于所述目标操作对象的描述信息包括:所述目标应用程序以及所述目标可操作标识的名称;所述位置确定单元包括:
[0030]窗口标题获取子单元,用于根据当前打开的各个窗口的窗口句柄,获取到各个窗口的标题名称;
[0031]窗口确定子单元,用于将从所述指令中解析得到的目标应用程序的名称与所述各个窗口的标题名称进行匹配,将匹配成功的窗口确定为目标应用程序的窗口 ;
[0032]可操作标识位置确定子单元,用于在所述目标应用程序的窗口中查找所述目标可操作标识的位置。
[0033]其中,所述可操作标识位置确定子单元包括:
[0034]可操作标识文字获取子单元,用于抓取所述目标应用程序的窗口中包含的各个可操作标识上显示的文字;
[0035]文字匹配子单元,用于将从所述指令中解析得到的目标可操作标识的名称与所述各个可操作标识上显示的文字进行匹配,将匹配成功的可操作标识所在的位置确定为目标可操作标识的位置。
[0036]其中,所述可操作标识位置确定子单元包括:
[0037]相对位置关系查询子单元,用于查询预先保存的可操作标识与应用程序窗口之间的相对位置关系,获取所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系;
[0038]位置比对子单元,用于根据所述目标应用程序的窗口所在的位置,以及所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系,确定所述目标可操作标识的位置。
[0039]其中,当所述目标应用程序存在至少两个版本时,所述预先保存的可操作标识与应用程序窗口之间的相对位置关系为:以其中任一版本为标准保存的可操作标识与应用程序窗口之间的相对位置关系,所述装置还包括:
[0040]判断单元,用于将所述鼠标移动到确定出的目标可操作标识的位置处之后,判断在此位置执行操作时是否能够得到响应;
[0041]容错调试单元,用于如果不能,则在所述确定出的目标可操作标识的位置周围预置范围内进行尝试,直到执行操作时得到响应。
[0042]根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0043]通过本发明,在模拟技师操作实现远程协助的过程中,在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,可以在指令中携带关于所述目标操作对象的描述信息,这样,被控制端就可以通过对指令进行解析,获取其中携带的目标操作对象的描述信息,然后根据目标操作对象的描述信息确定目标操作对象所在的位置。可见,在实现过程中,主控制端发出的指令中,并不是用操作对象在屏幕中的绝对坐标来标识操作对象的位置,而是操作对象的描述信息,因此,对于被控制端而言,就可以通过查找描述信息相符的操作对象,来确定出操作对象的位置,而这种描述信息并不会随着不同的屏幕分辨率而变化,因此,就能够适应不同的被控制端屏幕分辨率,保证指令的有效性。

【专利附图】

【附图说明】
[0044]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1是本发明实施例提供的方法的流程图;
[0046]图2是本发明实施例提供的第一装置的示意图;
[0047]图3是本发明实施例提供的第二装置的示意图;
[0048]图4是本发明实施例提供的第三装置的示意图;
[0049]图5是本发明实施例提供的第四装置的示意图。

【具体实施方式】
[0050]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0051]为了更好地理解本发明,首先需要说明的是,在远程协助过程中,技师侧相当于是主控制端,用户侧相当于是被控制端,并且,主控制端只是将键盘和鼠标的指令传送给远程的被控制端电脑,同时被控制端电脑的屏幕画面通过通信线路回传过来。也就是说,在主控制端控制被控制端电脑进行操作似乎是在眼前的电脑上进行的,但实质是在远程的电脑中实现的,不论打开文件,还是上网浏览、下载等都是存储在远程的被控制端电脑中的。
[0052]其中,主控端程序是运行在帮助解决问题的计算机端,主要功能是通过实现显示远程计算机的画面、操作键盘和鼠标的处理、事件的信息发送、画面的刷新等等达到控制远程计算机的目的。具体可分为:
[0053]I)连接操作
[0054]可以通过中转端实现与被控制端的连接。例如,当被控制端连接到中转端后,主控制端连接到中转端;然后选择要控制的被控制端;输入密码进行双方验证;最终建立主控制与被控制端之间的对应。
[0055]2)画面显示
[0056]建立本地桌面窗口,初始化相关画面信息,当远程被控制端计算机的画面信息传送过来后进行显示。
[0057]3)事件处理
[0058]当对本地的显示桌面窗口进行各种操作(如鼠标操作、键盘输入)时,程序实现对事件消息的捕捉,并根据具体信息组合成信息包发送到远程被控制端计算机。
[0059]4)更新画面
[0060]当本地程序接收到远程被控制端计算机传送过来的消息是更新画面时,程序接收需要更新的画面信息内容,根据信息与本地的显示画面进行组合实现画面的部分区域更新操作。
[0061]被控制端程序是运行在需要解决问题的计算机端,主要功能是通过实现本地画面信息的传送、远程消息事件的模拟处理、画面部分区域更新处理等等达到与主控制端协助目的。具体可分为:
[0062]I)连接操作
[0063]当需要协助时实现连接到主控制端。具体实现时,仍然可以通过中转端进行中转,如,被控制端可以首先连接到中转端,等待主控制端连接到中转端;然后当主控制端选择了此被控制端后,要求主控制端输入验证密码,最终建立主控制与被控制端之间的对应。
[0064]2)消息处理
[0065]接收从远程主控制端对显示桌面窗口进行各种操作(如鼠标操作、键盘输入)的消息,然后根据接收到的具体消息进行本地的模拟与触发。
[0066]3)更新区域
[0067]当被控制端的画面发生的变化时,生成更新区域信息,组合成数据报文发送到主控制端要求其进行相应的画面更新显示。
[0068]另外需要说明的是,为了实现模拟技师操作,首先需要在使用传统的方式进行远程协助时,记录下技师执行远程协助操作的过程中产生的网络数据包,如果网络数据包有多个,还可以记录下各个数据包的时间戳,以便根据对所述网络数据包的分析生成与技师操作对应的源语,以及源语对应的脚本,供技师进行选择使用。在生成了多个源语及其对应的脚本之后,可以在主控制端显示出各个源语的标题,技师可以根据标题来识别出各个源语的含义。当技师接收到用户发出的远程协助请求,可以首先通过与用户的交流(例如发送即时消息等方式)了解用户需要解决的问题,然后技师就可以针对具体的问题,选择解决该问题时需要的操作对应的源语,之后就可通过运行选择出的源语对应的脚本,来执行具体的操作,整个过程在被控制端看来,与技师的实际操作是相同的。
[0069]在模拟技师操作的过程中,为了使得程序能够获知需要将鼠标移动到什么位置,比较容易想到的是,通过操作对象在被控制端屏幕中的坐标来表示,这样,在主控制端的指令中指示将鼠标移动到某坐标处,被控制端按照该指令执行即可。但是,在实际应用中会存在以下问题:
[0070]屏幕中的坐标与屏幕的分辨率是相关的,形象地说,可以把整个显示屏想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目,每个交叉点对应着一个像素,如果以显示屏左上角第一个点为原点建立坐标,则坐标为(0,0)的点就代表左上角的第一个像素所在的位置,同样的,其他各像素的位置也都可以通过坐标系中的坐标表示出来。
[0071]不同的被控制端屏幕的分辨率可能是不同的,同一个应用程序在打开时,其窗口在屏幕上的默认位置也可能不同,因此,无法用统一的绝对坐标来表示各种可能的情况。例如,某被控制端的屏幕分辨率是800*600,另一被控制端的屏幕分辨率是1024*768,此时,对于某应用程序而言,即便在不同的电脑中打开时,其窗口都是默认出现在某固定位置(例如屏幕的正中心,也即应用程序窗口的中心与屏幕的中心重合),那么用屏幕中的坐标来表示该应用程序窗口中某按钮的位置时,也会是不同的,例如,对于第一个被控制端而言,某按钮可能位于(400,300)处,而对于第二个被控制端,该按钮却是出现在(500,400)处,等等。因此,需要被控制端将鼠标移动到该按钮处时,如果在主控制端的程序中,用(400, 300)或(500,400)等绝对坐标来表示按钮的位置,显然都是不合适的。除非要求被控制端在进行远程协助时,首先将自己的屏幕分辨率按照要求进行设置,但这会增加被控制端用户的操作,并且如果用户不懂得如何设置,则会导致远程协助无法实现。
[0072]因此,在本发明实施例中,并不是以操作对象在屏幕上的绝对坐标来表示鼠标需要移动到的目标位置信息,而是提供了一种有效的解决方法。参见图1,本发明实施例提供的远程协助过程中的指令控制方法可以包括以下步骤:
[0073]SlOl:在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息;
[0074]主控制端在向被控制端发送对某操作对象执行某操作的指令时,直接在指令中给出操作对象的描述信息,例如,如果需要被控制端点击“开始”菜单,则直接在指令中写明该按钮的名称;如果需要被控制端点击某应用程序窗口中的某可操作标识(也即,能够接收点击指令,并给出一定的响应,例如,可能是某操作按钮等等,为便于描述,在本发明实施例中,均以“按钮”为例进行介绍),则可以直接在指令中表明,目标应用程序名称,以及需要点击的目标按钮名称,等等。
[0075]S102:被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息;
[0076]被控制端在接收到主控制端的指令之后,可以首先对指令进行解析,获知被操作对象的信息之后,就可以按照该信息自行查找被操作对象的位置。例如,如果接收到的指令中包含的操作对象是某目标程序中的某目标按钮,并且指令中给出了目标程序及目标按钮的名称,则首先可以根据当前打开的各个窗口的窗口句柄,抓取到各个窗口的标题,将指令中的目标程序名称与各个窗口的标题进行比对,标题相匹配的窗口就是目标程序的窗口。找到目标程序的窗口之后,如果目标程序窗口中的按钮是非自绘按钮,则可以直接识别其中各个按钮上显示的文字,然后与指令中的按钮名称进行匹配,就可以找到目标按钮,然后将鼠标移动到该按钮处执行指令中指定的操作即可。当然,如果目标窗口中的按钮是自绘按钮,则无法直接抓取到按钮上显示的文字,针对这种情况,可以采取以下方式实现:对于目标程序窗口中的自绘按钮而言,虽然无法抓取到按钮上显示的文字,但是一般会有如下特点:目标窗口的默认大小一般是固定的,并且特定按钮在窗口中的位置也一般都是固定的,例如,某窗口中的某按钮是在窗口的右下方,距离窗口下边沿X个像素、距离右边沿y个像素处,等等,可以预先在被控制端保存这种位置信息(可以以被控制端程序的配置文件等形式进行保存)。这样,当接收到主控制端的指令之后,对于目标程序窗口中的非自绘按钮,由于已知了目标窗口的位置,因此就可以通过查询位置信息的方式,来获知目标按钮的位置,然后将光标移动到该位置处执行主控制端的指令中指示的操作即可。
[0077]当然,需要说明的是,在上述针对自绘按钮保存按钮与应用程序窗口之间的相对位置关系时,这种相对位置关系相当于是开发人员在制作窗口时设定的相对位置关系。当然,实际显示在屏幕上时,窗口的实际大小还与屏幕的实际分辨率有关,因此,对于被控制端而言,在根据查询到的窗口与按钮之间的位置关系来查找按钮的位置时,需要结合实际的屏幕分辨率进行换算,最终确定出按钮的坐标。例如,假设保存的某按钮与窗口之间的相对位置关系是:距离窗口下边沿10个像素、距离右边沿15个像素处;并且确定出的窗口位置是:窗口右下角的顶点坐标为(150,100),也就是说,下边沿的纵坐标为100,右边沿的横坐标150,因此,可以换算出按钮的位置是在(90,135)处。
[0078]另外需要说明的是,一般而言,同一款应用程序可能存在不同的版本,在不同的版本中,应用程序窗口中各图标的位置可能会不完全相同,但一般又不会做特别大的变化,例如,一般可能会是这样:在不同的版本中,窗口中的按钮数量以及各自所在的位置、样式(包括按钮的大小、颜色等等)大致相同,只不过按钮的位置可能会有细微的变化。具体如,对于某杀毒软件,在各个不同版本中,可能都会在窗口的中央位置显示一个“全盘扫描”按钮,并且按钮一般可能是红色,等等。针对这种情况,为了支持前述根据预先保存的按钮与窗口之间的位置关系来确定按钮位置的实现,当然可以在被控制端分别为各个版本保存一套相对位置关系,具体在查询时,可以根据当前的应用程序版本,查询与该版本对应保存的相对位置关系。
[0079]但是在本发明实施例中,为了节省被控制端的存储空间,还给出了能够支持模糊匹配的实现方式。具体的,针对同一应用程序的多个版本的情况,在被控制端可以仅根据其中某一个版本的窗口设计,保存各个按钮与窗口之间的相对位置关系,具体在需要根据保存的按钮与窗口之间的相对位置关系查找按钮的位置时,无论当前应用程序的版本是否与保存的那个版本是否相同,都可以首先根据保存的相对位置关系进行查找,如果能够直接找到(判断找到与否的依据可以是:根据保存的相对位置关系确定出某坐标之后,执行相应的点击等操作,判断是否有响应,如果有则证明已经正确找到了按钮的位置),则进行后续的操作即可。如果没有直接找到,则可以在根据保存的相对位置关系确定出的某坐标周围的一定范围内进行尝试,例如,在该坐标向某方向移动几个像素,分别执行点击等操作进行尝试,如果向某方向尝试失败,则还可以改变其他的方向,直到执行点击等操作时得到响应为止。当然,如果在一定范围内均为能成功找到按钮位置,则可以在控制端向技师发出提示信息,由技师介入处理。也就是说,本发明实施例在查找按钮位置时,提供了一定的容错机制,这样,即使应用程序存在多个版本,也只需要保存其中任一版本中的按钮与窗口之间的相对位置关系,这样减少对存储空间的占用。
[0080]S103:根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。
[0081]由于已经确定出了目标操作对象的位置,因此,直接按照指令中的指示将光标移动到相应的位置处即可,后续还可以执行点击、输入字符等操作。
[0082]总之,在本发明实施例中,在模拟技师操作实现远程协助的过程中,在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,可以在指令中携带关于所述目标操作对象的描述信息,这样,被控制端就可以通过对指令进行解析,获取其中携带的目标操作对象的描述信息,然后根据目标操作对象的描述信息确定目标操作对象所在的位置,可见,在实现过程中,主控制端发出的指令中,并不是用操作对象在屏幕中的绝对坐标来标识操作对象的位置,而是操作对象的描述信息,因此,对于被控制端而言,就可以通过查找描述信息相符的操作对象,来确定出操作对象的位置,而这种描述信息并不会随着不同的屏幕分辨率而变化,因此,就能够适应不同的被控制端屏幕分辨率,保证指令的有效性。
[0083]与本发明实施例提供的远程协助过程中的指令控制方法相对于,本发明实施例还提供了一种远程协助过程中的指令控制装置,参见图2,该装置可以包括:
[0084]指令发送单元201,用于在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息;
[0085]指令解析单元202,用于被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息;
[0086]位置确定单元203,用于根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。
[0087]其中,所述目标操作对象可以包括目标应用程序窗口中的目标可操作标识;所述指令中携带的关于所述目标操作对象的描述信息包括:所述目标应用程序以及所述目标可操作标识的名称;此时,参见图3,位置确定单元203具体可以包括:
[0088]窗口标题获取子单元2031,用于根据当前打开的各个窗口的窗口句柄,获取到各个窗口的标题名称;
[0089]窗口确定子单元2032,用于将从所述指令中解析得到的目标应用程序的名称与所述各个窗口的标题名称进行匹配,将匹配成功的窗口确定为目标应用程序的窗口 ;
[0090]可操作标识位置确定子单元2033,用于在所述目标应用程序的窗口中查找所述目标可操作标识的位置。
[0091]具体实现时,参见图4,可操作标识位置确定子单元2033可以包括:
[0092]可操作标识文字获取子单元20331,用于抓取所述目标应用程序的窗口中包含的各个可操作标识上显示的文字;
[0093]文字匹配子单元20332,用于将从所述指令中解析得到的目标可操作标识的名称与所述各个可操作标识上显示的文字进行匹配,将匹配成功的按钮所在的位置确定为目标可操作标识的位置。
[0094]或者,参见图5,可操作标识位置确定子单元2033也可以包括:
[0095]相对位置关系查询子单元20333,用于查询预先保存的可操作标识与应用程序窗口之间的相对位置关系,获取所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系;
[0096]位置比对子单元20334,用于根据所述目标应用程序的窗口所在的位置,以及所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系,确定所述目标可操作标识的位置。
[0097]另外,当所述目标应用程序存在至少两个版本时,所述预先保存的可操作标识与应用程序窗口之间的相对位置关系为:以其中任一版本为标准保存的可操作标识与应用程序窗口之间的相对位置关系,此时,该装置还可以包括:
[0098]判断单元,用于将所述光标移动到确定出的目标可操作标识的位置处之后,判断在此位置执行操作时是否能够得到响应;
[0099]容错调试单元,用于如果不能,则在所述确定出的目标可操作标识的位置周围预置范围内进行尝试,直到执行操作时得到响应。
[0100]总之,在本发明实施例提供的远程协助过程中的指令控制装置中,在模拟技师操作实现远程协助的过程中,在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,可以在指令中携带关于所述目标操作对象的描述信息,这样,被控制端就可以通过对指令进行解析,获取其中携带的目标操作对象的描述信息,然后根据目标操作对象的描述信息确定目标操作对象所在的位置,可见,在实现过程中,主控制端发出的指令中,并不是用操作对象在屏幕中的绝对坐标来标识操作对象的位置,而是操作对象的描述信息,因此,对于被控制端而言,就可以通过查找描述信息相符的操作对象,来确定出操作对象的位置,而这种描述信息并不会随着不同的屏幕分辨率而变化,因此,就能够适应不同的被控制端屏幕分辨率,保证指令的有效性。
[0101]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0102]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0103]以上对本发明所提供的远程协助过程中的指令控制方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种远程协助过程中的指令控制方法,其特征在于,包括: 在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息; 被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息; 根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。
2.根据权利要求1所述的方法,其特征在于,所述目标操作对象包括目标应用程序窗口中的目标可操作标识;所述指令中携带的关于所述目标操作对象的描述信息包括:所述目标应用程序以及所述目标可操作标识的名称;所述根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置包括: 根据当前打开的各个窗口的窗口句柄,获取到各个窗口的标题名称; 将从所述指令中解析得到的目标应用程序的名称与所述各个窗口的标题名称进行匹配,将匹配成功的窗口确定为目标应用程序的窗口 ; 在所述目标应用程序的窗口中查找所述目标可操作标识的位置。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标应用程序的窗口中查找所述目标可操作标识的位置包括: 抓取所述目标应用程序的窗口中包含的各个可操作标识上显示的文字; 将从所述指令中解析得到的目标可操作标识的名称与所述各个可操作标识上显示的文字进行匹配,将匹配成功的可操作标识所在的位置确定为目标可操作标识的位置。
4.根据权利要求2所述的方法,其特征在于,所述在所述目标应用程序的窗口中查找所述目标可操作标识的位置包括: 查询预先保存的可操作标识与应用程序窗口之间的相对位置关系,获取所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系; 根据所述目标应用程序的窗口所在的位置,以及所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系,确定所述目标可操作标识的位置。
5.根据权利要求4所述的方法,其特征在于,当所述目标应用程序存在至少两个版本时,所述预先保存的可操作标识与应用程序窗口之间的相对位置关系为:以其中任一版本为标准保存的可操作标识与应用程序窗口之间的相对位置关系,所述方法还包括: 将所述光标移动到确定出的目标可操作标识的位置处之后,判断在此位置执行操作时是否能够得到响应; 如果不能,则在所述确定出的目标可操作标识的位置周围预置范围内进行尝试,直到执行操作时得到响应。
6.一种远程协助过程中的指令控制装置,其特征在于,包括: 指令发送单元,用于在主控制端需要向被控制端发送将光标移动到目标操作对象处的指令时,在所述指令中携带关于所述目标操作对象的描述信息; 指令解析单元,用于被控制端在接收到所述指令后,对所述指令进行解析,获取其中携带的所述目标操作对象的描述信息; 位置确定单元,用于根据所述目标操作对象的描述信息确定所述目标操作对象所在的位置,以便按照所述指令的指示,将光标移动到所述目标操作对象所在的位置处。
7.根据权利要求6所述的装置,其特征在于,所述目标操作对象包括目标应用程序窗口中的目标可操作标识;所述指令中携带的关于所述目标操作对象的描述信息包括:所述目标应用程序以及所述目标可操作标识的名称;所述位置确定单元包括: 窗口标题获取子单元,用于根据当前打开的各个窗口的窗口句柄,获取到各个窗口的标题名称; 窗口确定子单元,用于将从所述指令中解析得到的目标应用程序的名称与所述各个窗口的标题名称进行匹配,将匹配成功的窗口确定为目标应用程序的窗口 ; 可操作标识位置确定子单元,用于在所述目标应用程序的窗口中查找所述目标可操作标识的位置。
8.根据权利要求7所述的装置,其特征在于,所述可操作标识位置确定子单元包括: 可操作标识文字获取子单元,用于抓取所述目标应用程序的窗口中包含的各个可操作标识上显示的文字; 文字匹配子单元,用于将从所述指令中解析得到的目标可操作标识的名称与所述各个可操作标识上显示的文字进行匹配,将匹配成功的可操作标识所在的位置确定为目标可操作标识的位置。
9.根据权利要求7所述的方法,其特征在于,所述可操作标识位置确定子单元包括: 相对位置关系查询子单元,用于查询预先保存的可操作标识与应用程序窗口之间的相对位置关系,获取所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系; 位置比对子单元,用于根据所述目标应用程序的窗口所在的位置,以及所述目标可操作标识与所述目标应用程序窗口之间的相对位置关系,确定所述目标可操作标识的位置。
10.根据权利要求9所述的装置,其特征在于,当所述目标应用程序存在至少两个版本时,所述预先保存的可操作标识与应用程序窗口之间的相对位置关系为:以其中任一版本为标准保存的可操作标识与应用程序窗口之间的相对位置关系,所述装置还包括: 判断单元,用于将所述鼠标移动到确定出的目标可操作标识的位置处之后,判断在此位置执行操作时是否能够得到响应; 容错调试单元,用于如果不能,则在所述确定出的目标可操作标识的位置周围预置范围内进行尝试,直到执行操作时得到响应。
【文档编号】G06F9/46GK104252384SQ201410543215
【公开日】2014年12月31日 申请日期:2012年3月28日 优先权日:2012年3月28日
【发明者】高云峥 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1