对窗口的操作方法和装置、计算机装置及可读存储介质制造方法及图纸

技术编号:20723847 阅读:32 留言:0更新日期:2019-03-30 17:28
本发明专利技术提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于解决现有技术难以对自定义用户控件或第三方控件进行操作的问题。本发明专利技术方法包括:预存目标程序的第一窗口的信息,第一窗口的信息包括第一窗口中的目的窗口的图像和第一窗口的窗口信息;根据第一窗口的窗口信息获取第一窗口的句柄;根据第一窗口的句柄获取第一窗口的图像;判断在第一窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;若存在,则根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息;根据目的窗口在屏幕内的位置信息对目的窗口进行操作。

【技术实现步骤摘要】
对窗口的操作方法和装置、计算机装置及可读存储介质
本专利技术涉及计算机
,特别涉及一种对窗口的操作方法和装置、计算机装置及可读存储介质。
技术介绍
工作流软件应用的范围非常广泛,凡是通过表单逐级手工流转完成的任务均可应用工作流软件自动实现,具体的,工作流软件有利于实现在行政管理、人事管理、财务相关和客户服务等方面的工作流程自动化。Windows程序中,有各种各样的资源,比如窗口、图标、光标等。Windows程序的窗体、窗体上的控件(比如按钮)都属于窗口。在windows中,句柄是和窗口对象一一对应的32位无符号整数值。窗口对象可以映射到唯一的句柄,句柄也可以映射到唯一的窗口对象。因此,在Windows应用程序中,窗口是通过句柄来标识的。在窗口每次打开的时候,窗口的句柄的取值是会变动的,我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。现有技术中,工作流软件模拟用户对另一程序B的b按钮的操作,比如模拟用户点击b按钮的鼠标操作,实现过程一般包括:在工作流软件中预存有b按钮的窗口标识,工作流软件可以使用应用程序编程接口API,根据预存的B按钮的窗口标识获取b按钮的句柄,之后,工作流软件可以利用b按钮的句柄、通过API获取b按钮的位置,进而对b按钮的位置进行操作。但是,通过API只能获取系统原生窗口的句柄,对于原生窗口中的部分自定义用户控件或第三方控件,是无法通过API获取到其句柄的,也就无法获取其位置,因此无法对其进行操作。
技术实现思路
本专利技术实施例提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于解决现有技术难以对自定义用户控件或第三方控件进行操作的问题。本专利技术实施例第一方面提供了一种对窗口的操作方法,包括:预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;根据所述第一窗口的窗口信息获取所述第一窗口的句柄;根据所述第一窗口的句柄获取所述第一窗口的图像;判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;若存在,则根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。可选的,若判定在所述目标窗口的图像内不存在所述目标图像区域,所述方法还包括:以第一窗口作为目标窗口;根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;若存在,则根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。可选的,若判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域,所述方法还包括:以所述目标窗口的父窗口作为所述目标窗口,并重复执行所述根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄的步骤。可选的,所述第一窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述第一窗口在所述顶级窗口中的索引位置。可选的,根据所述第一窗口的窗口信息获取所述第一窗口的句柄包括:根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;根据所述顶级窗口的句柄和所述第一窗口在所述顶级窗口中的索引位置,获取所述第一窗口的句柄。本专利技术实施例第二方面提供一种对窗口的操作装置,包括:存储模块,用于预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;第一获取模块,用于根据所述第一窗口的窗口信息获取所述第一窗口的句柄;第二获取模块,用于根据所述第一窗口的句柄获取所述第一窗口的图像;判断模块,用于判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;确定模块,用于当所述判断模块判定在所述第一窗口的图像内存在与所述目的窗口的图像相匹配的目标图像区域时,根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;操作模块,用于在所述确定模块确定所述目的窗口在所述屏幕内的位置信息之后,根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。可选的,所述装置还包括条件执行模块,所述条件执行模块包括:第一赋值单元,用于当所述判断模块判定在所述第一窗口的图像内不存在所述目标图像区域时,以第一窗口作为目标窗口;第一获取单元,用于根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;第二获取单元,用于在所述第一获取单元获取到所述目标窗口的父窗口的句柄之后,根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;判断单元,用于在所述第二获取单元获取到所述目标窗口的父窗口的图像之后,判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;确定单元,用于当所述判断单元判定在所述目标窗口的父窗口的图像内存在与所述目的窗口的图像相匹配的目标图像区域时,根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;操作单元,用于在所述确定单元确定所述目的窗口在所述屏幕内的位置信息之后,根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。可选的,所述条件执行模块还包括:第二赋值单元,用于当所述判断单元判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域时,以所述目标窗口的父窗口作为所述目标窗口,并触发所述第一获取单元。可选的,所述第一窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述第一窗口在所述顶级窗口中的索引位置。可选的,所述第一获取模块包括:第三获取单元,用于根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;第四获取单元,用于根据所述顶级窗口的句柄和所述第一窗口在所述顶级窗口中的索引位置,获取所述第一窗口的句柄。可选的,所述顶级窗口为所述目的窗口的第n级父窗口,所述目的窗口在所述顶级窗口中的索引位置包括所述目的窗口的第i-1级父窗口在所述目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,所述目的窗口的第0级父窗口为所述目的窗口。可选的,所第四获取单元用于依次根据所述目的窗口的第j级父窗口和第j索引位置获取所述目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。可选的,所述目的窗口的窗口信息还包括所述目的窗口的各级父窗口的各个子窗口的标识信息。可选的,所述顶级窗口的标识信息包括程序标识和窗口类名。本专利技术实施例的第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现本文档来自技高网...

【技术保护点】
1.一种对窗口的操作方法,其特征在于,包括:预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;根据所述第一窗口的窗口信息获取所述第一窗口的句柄;根据所述第一窗口的句柄获取所述第一窗口的图像;判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;若存在,则根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。

【技术特征摘要】
1.一种对窗口的操作方法,其特征在于,包括:预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;根据所述第一窗口的窗口信息获取所述第一窗口的句柄;根据所述第一窗口的句柄获取所述第一窗口的图像;判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;若存在,则根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。2.根据权利要求1所述的对窗口的操作方法,其特征在于,若判定在所述目标窗口的图像内不存在所述目标图像区域,所述方法还包括:以第一窗口作为目标窗口;根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;若存在,则根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。3.根据权利要求2所述的对窗口的操作方法,其特征在于,若判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域,所述方法还包括:以所述目标窗口的父窗口作为所述目标窗口,并重复执行所述根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄的步骤。4.根据权利要求1至3中任一项所述的对窗口的操作方法,其特征在于,所述第一窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述第一窗口在所述顶级窗口中的索引位置。5.根据权利要求4所述的对窗口的操作方法,其特征在于,根据所述第一窗口的窗口信息获取所述第一窗口的句柄包括:根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;根据所述顶级窗口的句柄和所述第一窗口在所述顶级窗口中的索引位置,获取所述第一窗口的句柄。6.一种对窗口的操作装置,其特征在于,包括:存储模块,用于预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;第一获取模块,用于根据所述第一窗口的窗口信息获取所述第一窗口的句柄;第二获取模块...

【专利技术属性】
技术研发人员:邓大洋吴远泽刘银方秋琪程晨
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东,44

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

1