CN109522086A - 对窗口的操作方法和装置、计算机装置及可读存储介质 - Google Patents

对窗口的操作方法和装置、计算机装置及可读存储介质 Download PDF

Info

Publication number
CN109522086A
CN109522086A CN201811445863.4A CN201811445863A CN109522086A CN 109522086 A CN109522086 A CN 109522086A CN 201811445863 A CN201811445863 A CN 201811445863A CN 109522086 A CN109522086 A CN 109522086A
Authority
CN
China
Prior art keywords
window
level
handle
parent
index position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811445863.4A
Other languages
English (en)
Other versions
CN109522086B (zh
Inventor
邓大洋
吴远泽
刘银
方秋琪
程晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN201811445863.4A priority Critical patent/CN109522086B/zh
Publication of CN109522086A publication Critical patent/CN109522086A/zh
Application granted granted Critical
Publication of CN109522086B publication Critical patent/CN109522086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于解决现有工作流软件对窗口进行操作时错误几率较高的问题,对窗口的操作方法包括:预存目标程序的目的窗口的窗口信息,目的窗口的窗口信息包括目标程序的顶级窗口的标识信息和目的窗口在顶级窗口中的索引位置;根据顶级窗口的标识信息获取顶级窗口的句柄;根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置获取目的窗口的句柄;根据目的窗口的句柄对目的窗口进行操作。

Description

对窗口的操作方法和装置、计算机装置及可读存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种对窗口的操作方法和装置、计算机装置及可读存储介质。
背景技术
工作流软件应用的范围非常广泛,凡是通过表单逐级手工流转完成的任务均可应用工作流软件自动实现,具体的,工作流软件有利于实现在行政管理、人事管理、财务相关和客户服务等方面的工作流程自动化。
Windows程序中,有各种各样的资源,比如窗口、图标、光标等。Windows程序的窗体、窗体上的控件(比如按钮)都属于窗口。在windows中,句柄是和窗口对象一一对应的32位无符号整数值。窗口对象可以映射到唯一的句柄,句柄也可以映射到唯一的窗口对象。因此,在Windows应用程序中,窗口是通过句柄来标识的。在窗口每次打开的时候,窗口的句柄的取值是会变动的,我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。
现有技术中,工作流软件模拟用户对另一程序B的b按钮的操作,比如模拟用户点击b按钮的鼠标操作,实现过程一般包括:在工作流软件中预存有b按钮的窗口标识,工作流软件可以使用应用程序编程接口API,根据预存的B按钮的窗口标识获取b按钮的句柄,之后,工作流软件可以利用b按钮的句柄、通过API点击b按钮的位置。
但是,不同窗口的窗口标识可能相同,假设a按钮和b按钮的窗口标识相同,当a按钮和b按钮均被显示时,工作流软件根据b按钮的窗口标识获取到的句柄可能是a按钮的窗口句柄,此时工作流软件会模拟鼠标操作,点击a按钮,导致操作错误。
发明内容
本发明实施例提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于。
本发明实施例第一方面提供了一种对窗口的操作方法,包括:
预存目标程序的目的窗口的窗口信息,所述目的窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述目的窗口在所述顶级窗口中的索引位置;根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;根据所述顶级窗口的句柄和所述目的窗口在所述顶级窗口中的索引位置获取所述目的窗口的句柄;根据所述目的窗口的句柄对所述目的窗口进行操作。
可选的,所述顶级窗口为所述目的窗口的第n级父窗口,所述目的窗口在所述顶级窗口中的索引位置包括所述目的窗口的第i-1级父窗口在所述目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,所述目的窗口的第0级父窗口为所述目的窗口。
可选的,所述根据所述顶级窗口的句柄和所述目的窗口在所述顶级窗口中的索引位置获取所述目的窗口的句柄包括:依次根据所述目的窗口的第j级父窗口和第j索引位置获取所述目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
可选的,所述目的窗口的窗口信息还包括所述目的窗口的各级父窗口的各个子窗口的标识信息。
可选的,所述顶级窗口的标识信息包括程序标识和窗口类名。
本发明实施例第二方面提供一种对窗口的操作装置,包括:
存储模块,用于预存目标程序的目的窗口的窗口信息,所述目的窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述目的窗口在所述顶级窗口中的索引位置;第一获取模块,用于根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;第二获取模块,用于根据所述顶级窗口的句柄和所述目的窗口在所述顶级窗口中的索引位置获取所述目的窗口的句柄;操作模块,用于根据所述目的窗口的句柄对所述目的窗口进行操作。
可选的,所述顶级窗口为所述目的窗口的第n级父窗口,所述目的窗口在所述顶级窗口中的索引位置包括所述目的窗口的第i-1级父窗口在所述目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,所述目的窗口的第0级父窗口为所述目的窗口。
可选的,所述第二获取模块用于依次根据所述目的窗口的第j级父窗口和第j索引位置获取所述目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
可选的,所述目的窗口的窗口信息还包括所述目的窗口的各级父窗口的各个子窗口的标识信息。
可选的,所述顶级窗口的标识信息包括程序标识和窗口类名。
本发明实施例的第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。
从以上技术方案可以看出,当需要模拟用户对目标程序的某个非顶级目的窗口进行操作时,本发明可以根据目标程序的顶级窗口的标识信息来获取顶级窗口的句柄,之后根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置来确定目的窗口的句柄,进而对目的窗口进行操作。由于顶级窗口的标识信息通常是唯一的,不会和其他窗口的标识信息相冲突,因此,本发明有利于减少工作流软件对目的窗口进行操作时的错误几率。
附图说明
图1为本发明对窗口的操作方法一个实施例示意图;
图2为本发明对目的窗口的窗口信息的获取流程一个实施例示意图;
图3为本发明目标程序的各级窗口的一个关系示意图;
图4为本发明对目的窗口的窗口信息的获取流程另一个实施例示意图;
图5为本发明目标程序的各级窗口的另一个关系示意图;
图6为本发明对目的窗口的句柄的获取流程一个实施例示意图;
图7为本发明对窗口的操作装置一个实施例示意图;
图8为本发明计算机装置一个实施例示意图。
具体实施方式
本发明实施例提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于减少工作流软件对窗口进行操作时的错误几率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
参考图1,本发明对窗口的操作方法一个实施例包括:
101、预存目标程序的目的窗口的窗口信息;
目标程序可以包括多个窗口,其中包括顶级窗口和非顶级窗口,当需要模拟用户对目标程序的某个非顶级窗口进行操作时(为了方便描述,将该非顶级窗口称作目的窗口),可以预存目的窗口的窗口信息,目的窗口的窗口信息可以包括目标程序的顶级窗口的标识信息和目的窗口在顶级窗口中的索引位置。
102、根据顶级窗口的标识信息获取顶级窗口的句柄;
需要模拟用户对目的窗口进行操作时,可以根据预存的顶级窗口的标识信息、使用API来获取顶级窗口的句柄。
103、根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置获取目的窗口的句柄;
获取到顶级窗口的句柄之后,可以根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置,获取目的窗口的句柄。
104、根据目的窗口的句柄对目的窗口进行操作。
获取到目的窗口的句柄之后,可以根据目的窗口的句柄、使用API对目的窗口进行操作。示例性的,用户对窗口的操作一般包括鼠标点击操作、鼠标拖曳操作和键盘输入操作等。
当需要模拟用户对目标程序的某个非顶级目的窗口进行操作时,本发明可以根据目标程序的顶级窗口的标识信息来获取顶级窗口的句柄,之后根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置来确定目的窗口的句柄,进而对目的窗口进行操作。由于顶级窗口的标识信息通常是唯一的,不会和其他窗口的标识信息相冲突,因此,本发明有利于减少工作流软件对目的窗口进行操作时的错误几率。
在一种可能的实施方式中,顶级窗口的标识信息可以包括程序标识(比如程序的名称)和窗口类名,或者包括程序标识、窗口类名和窗口标题。对于非顶级窗口,其标识信息一般不包括程序标识,可以包括窗口类名和窗口标题中的至少一种。
目的窗口在顶级窗口中的索引位置用于根据顶级窗口的句柄来获取目的窗口的句柄,在实际使用中,可以通过Spy++等编程辅助工具来获取目的窗口的窗口信息,之后可以将获取到的窗口信息进行存储。
目的窗口可以是顶级窗口的子窗口,此时,示例性的,参考图2,目的窗口的窗口信息可以通过如下流程来获取:
201、在屏幕上移动鼠标选择目的窗口;
202、获取目的窗口的句柄;
203、根据目的窗口的句柄获取目的窗口的标识信息;
204、根据目的窗口的标识信息获取目的窗口的父窗口的标识信息和句柄;
205、检测目的窗口的父窗口的所有子窗口的句柄;
206、根据目的窗口的父窗口的所有子窗口的句柄和目的窗口的句柄,确定目的窗口在其父窗口中的索引位置。
通过步骤201至步骤206,可以获取到目的窗口的窗口信息,即目的窗口的父窗口的标识信息和目的窗口在其父窗口中的索引位置。
参考图3,假设顶级窗口为A,A的各个子窗口依次包括B1、B2、B3,其中,目的窗口为B2,此时,B2的窗口信息可以包括:A的标识信息,和B2在A中的索引位置。由于A的各个子窗口的相对位置一般是确定的,因此,B2在A中的索引位置可以指B2在A的各个子窗口中的位置,即第二位。
当目的窗口不是顶级窗口的子窗口时,比如,目的窗口为顶级窗口的某个子窗口的子窗口,或者将目的窗口称作顶级窗口的二级子窗口,此时,示例性的,参考图4,目的窗口的窗口信息可以通过如下流程来获取:
401、在屏幕上移动鼠标选择目的窗口;
402、获取目的窗口的句柄;
403、以目的窗口作为当前窗口;
404、根据当前窗口的句柄获取当前窗口的标识信息;
405、根据当前窗口的标识信息获取当前窗口的父窗口的标识信息和句柄;
406、检测当前窗口的父窗口的所有子窗口的句柄;
407、根据当前窗口的父窗口的所有子窗口的句柄和当前窗口的句柄,确定当前窗口在其父窗口中的索引位置;
408、以当前窗口的父窗口作为当前窗口,若当前窗口不是顶级窗口,则重复执行步骤404,若当前窗口是顶级窗口,则执行步骤409;
409、根据当前窗口的句柄获取当前窗口的标识信息,并结束流程。
步骤403和步骤408仅用于简化对上述流程的描述,在实际运行中,上述流程可以不执行步骤403和步骤408对应的动作。参考图5,假设顶级窗口为A,A的子窗口(即A的一级子窗口)依次包括B1、B2和B3,其中B2的子窗口(即A的部分二级子窗口)依次包括C1、C2和C3,目的窗口为C3,此时,C3的窗口信息的获取流程可以包括:在屏幕上移动鼠标选择C3;之后,获取C3的句柄;根据C3的句柄获取C3的标识信息;之后根据C3的标识信息获取C3的父窗口(即B2)的标识信息和句柄;之后检测B2的所有子窗口的句柄,即C1、C2、C3的句柄;根据B2的所有子窗口的句柄和C3的句柄,确定C3在B2中的索引位置(为第3位);由于B2不是顶级窗口,继续流程,即根据B2的句柄获取B2的标识信息;之后根据B2的标识信息获取B2的父窗口(即A)的标识信息和句柄;之后检测A的所有子窗口的句柄,即B1、B2和B3的句柄;根据A的所有子窗口的句柄和B2的句柄,确定B2在A中的索引位置(为第2位);由于A为顶级窗口,结束C3的窗口信息的获取流程。至此,获取到的C3的窗口信息包括:A的标识信息,和C3在A中的索引位置,C3在A中的索引位置具体包括:B2在A中的索引位置(第2位)和C3在B2中的索引位置(第3位)。
为了对上述不同情况下目的窗口在顶级窗口中的索引位置进行概括,从目的窗口的角度,可以将顶级窗口记作目的窗口的第n级父窗口,n为正整数,示例性的,当n=1时,顶级窗口为目的窗口的父窗口,可以参考图3,当n=2时,顶级窗口为目的窗口的父窗口的父窗口,可以参考图5。那么,在本发明的一种可能的实施例中,目的窗口在顶级窗口中的索引位置可以包括目的窗口的第i-1级父窗口在目的窗口的第i级父窗口中的第i索引位置,其中,i=1,2,……,n,当i=1时,目的窗口的第0级父窗口指目的窗口。也就是说,目的窗口在顶级窗口中的索引位置可以包括:目的窗口在目的窗口的第1级父窗口中的索引位置(为了便于描述,将此索引位置记作第1索引位置)、目的窗口的第1级父窗口在目的窗口的第2级父窗口中的第2索引位置、……,目的窗口第n-1级父窗口在目的窗口的第n级父窗口中的第n索引位置。若继续以图5为例,那么n=2,目的窗口C3在顶级窗口A中的索引位置包括:第1索引位置为3,第2索引位置为2。
基于上述目的窗口在顶级窗口中的索引位置的实施例,图1对应的实施例中的步骤103一种可能的具体细化步骤可以包括:依次根据目的窗口的第j级父窗口的句柄和第j索引位置,获取目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。当j=1时,便可以获取到目的窗口的句柄。具体的,参考图6,获取目的窗口的句柄可以包括如下流程:
601、令m=n;
602、根据目的窗口的第m级父窗口的句柄和第m索引位置获取目的窗口的第m-1级父窗口的句柄;
603、令m=m-1,若m>0,则重复执行步骤602,若m=0,则触发步骤604;
604、结束流程。
步骤601和步骤603仅用于简化对上述获取流程的描述,在实际使用中,上述流程可以不包括步骤601和步骤603对应的动作。仍然参考图5,n=2,获取目的窗口C3的句柄可以包括:根据C3的第2级父窗口(即顶级窗口A)的句柄可以获取A的各个子窗口B1、B2、B3的句柄,之后,可以根据第2索引位置(即第2位)确定C3的第1级父窗口(即B2)的句柄;之后,可以根据C3的第1级父窗口(即B2)的句柄获取B2的各个子窗口C1、C2、C3的句柄,之后,可以根据第1索引位置(即第3位)确定C3的第0级父窗口(即C3)的句柄。
由于在目的窗口的窗口信息的获取流程中,可以获取到目标程序的各个窗口的标识信息,因此,在一种可能的实现方式中,预存的目的窗口的窗口信息还可以包括目的窗口的各级父窗口的各个子窗口的标识信息,或者说,目的窗口的窗口信息包括了目标程序的各个窗口的标识信息,以图5为例,目的窗口C3的窗口信息中的标识信息可以包括:C3的第2级父窗口(即A)的标识信息、C3的第2级父窗口(即A)的各个子窗口(即B1、B2、B3)的标识信息、C3的第1级父窗口(即B2)的各个子窗口(即C1、C2、C3)的标识信息。这样的好处是,可以根据预存的目的窗口的窗口信息灵活更改工作流软件模拟用户操作的窗口,或者在工作流软件的设计时,可灵活增加多个模拟操作,运行时可同时操作不同的窗口。
上面对本发明实施例中的对窗口的操作方法进行了描述,下面对本发明实施例中的对窗口的操作装置进行描述。
参考图7,本发明实施例一种对窗口的操作装置包括:
存储模块701,用于预存目标程序的目的窗口的窗口信息,目的窗口的窗口信息包括目标程序的顶级窗口的标识信息和目的窗口在顶级窗口中的索引位置;
第一获取模块702,用于根据顶级窗口的标识信息获取顶级窗口的句柄;
第二获取模块703,用于根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置获取目的窗口的句柄;
操作模块704,用于根据目的窗口的句柄对目的窗口进行操作。
在一种可能的实现方式中,顶级窗口为目的窗口的第n级父窗口,目的窗口在顶级窗口中的索引位置包括目的窗口的第i-1级父窗口在目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,目的窗口的第0级父窗口为目的窗口。
在一种可能的实现方式中,第二获取模块703用于依次根据目的窗口的第j级父窗口和第j索引位置获取目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
在一种可能的实现方式中,目的窗口的窗口信息还包括目的窗口的各级父窗口的各个子窗口的标识信息。
在一种可能的实现方式中,标识信息包括窗口类名和/或窗口标题。
本发明实施例提供的对窗口的操作装置用于执行前述实施例中对窗口的操作方法,故本发明实施例可以参考前述对窗口的操作方法实施例中的相关部分进行理解,本发明实施例所能获得到的技术效果可参考前述对窗口的操作方法实施例,此处不再赘述。
上面从模块化功能实体的角度对本发明实施例中的对窗口的操作装置进行了描述,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
请参阅图8,本发明实施例中计算机装置8一个实施例包括:
处理器801以及存储器802;
存储器802用于存储计算机程序,处理器801用于执行存储器802中存储的计算机程序时,可以实现如下步骤:
预存目标程序的目的窗口的窗口信息,目的窗口的窗口信息包括目标程序的顶级窗口的标识信息和目的窗口在顶级窗口中的索引位置;
根据顶级窗口的标识信息获取顶级窗口的句柄;
根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置获取目的窗口的句柄;
根据目的窗口的句柄对目的窗口进行操作。
在本发明的一些实施例中,顶级窗口为目的窗口的第n级父窗口,目的窗口在顶级窗口中的索引位置包括目的窗口的第i-1级父窗口在目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,目的窗口的第0级父窗口为目的窗口。
在本发明的一些实施例中,处理器801用于执行存储器802中存储的计算机程序时,还可以实现如下步骤:依次根据目的窗口的第j级父窗口和第j索引位置获取目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
在本发明的一些实施例中,目的窗口的窗口信息还包括目的窗口的各级父窗口的各个子窗口的标识信息。
在本发明的一些实施例中,标识信息包括窗口类名和/或窗口标题。
可以理解的是,上述说明的计算机装置中的处理器执行所述计算机程序时,也可以实现上述对应的各装置实施例中各单元的功能,此处不再赘述。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述充电电流控制装置中的执行过程。例如,所述计算机程序可以被分割成上述充电电流控制装置中的各单元,各单元可以实现如上述相应充电电流控制装置说明的具体功能。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,处理器、存储器仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
预存目标程序的目的窗口的窗口信息,所述目的窗口的窗口信息包括目标程序的顶级窗口的标识信息和目的窗口在顶级窗口中的索引位置;
根据顶级窗口的标识信息获取顶级窗口的句柄;
根据顶级窗口的句柄和目的窗口在顶级窗口中的索引位置获取目的窗口的句柄;
根据目的窗口的句柄对目的窗口进行操作。
在本发明的一些实施例中,顶级窗口为目的窗口的第n级父窗口,目的窗口在顶级窗口中的索引位置包括目的窗口的第i-1级父窗口在目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,目的窗口的第0级父窗口为目的窗口。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,还可以实现如下步骤:依次根据目的窗口的第j级父窗口和第j索引位置获取目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
在本发明的一些实施例中,目的窗口的窗口信息还包括目的窗口的各级父窗口的各个子窗口的标识信息。
在本发明的一些实施例中,标识信息包括窗口类名和/或窗口标题。
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种对窗口的操作方法,其特征在于,包括:
预存目标程序的目的窗口的窗口信息,所述目的窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述目的窗口在所述顶级窗口中的索引位置;
根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;
根据所述顶级窗口的句柄和所述目的窗口在所述顶级窗口中的索引位置获取所述目的窗口的句柄;
根据所述目的窗口的句柄对所述目的窗口进行操作。
2.根据权利要求1所述的对窗口的操作方法,其特征在于,所述顶级窗口为所述目的窗口的第n级父窗口,所述目的窗口在所述顶级窗口中的索引位置包括所述目的窗口的第i-1级父窗口在所述目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,所述目的窗口的第0级父窗口为所述目的窗口。
3.根据权利要求2所述的对窗口的操作方法,其特征在于,所述根据所述顶级窗口的句柄和所述目的窗口在所述顶级窗口中的索引位置获取所述目的窗口的句柄包括:
依次根据所述目的窗口的第j级父窗口和第j索引位置获取所述目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
4.根据权利要求3所述的对窗口的操作方法,其特征在于,所述目的窗口的窗口信息还包括所述目的窗口的各级父窗口的各个子窗口的标识信息。
5.根据权利要求1至4中任一项所述的对窗口的操作方法,其特征在于,所述顶级窗口的标识信息包括程序标识和窗口类名。
6.一种对窗口的操作装置,其特征在于,包括:
存储模块,用于预存目标程序的目的窗口的窗口信息,所述目的窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述目的窗口在所述顶级窗口中的索引位置;
第一获取模块,用于根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;
第二获取模块,用于根据所述顶级窗口的句柄和所述目的窗口在所述顶级窗口中的索引位置获取所述目的窗口的句柄;
操作模块,用于根据所述目的窗口的句柄对所述目的窗口进行操作。
7.根据权利要求6所述的对窗口的操作装置,其特征在于,所述顶级窗口为所述目的窗口的第n级父窗口,所述目的窗口在所述顶级窗口中的索引位置包括所述目的窗口的第i-1级父窗口在所述目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,所述目的窗口的第0级父窗口为所述目的窗口。
8.根据权利要求7所述的对窗口的操作装置,其特征在于,所述第二获取模块用于依次根据所述目的窗口的第j级父窗口和第j索引位置获取所述目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述方法的步骤。
CN201811445863.4A 2018-11-29 2018-11-29 对窗口的操作方法和装置、计算机装置及可读存储介质 Active CN109522086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811445863.4A CN109522086B (zh) 2018-11-29 2018-11-29 对窗口的操作方法和装置、计算机装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811445863.4A CN109522086B (zh) 2018-11-29 2018-11-29 对窗口的操作方法和装置、计算机装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN109522086A true CN109522086A (zh) 2019-03-26
CN109522086B CN109522086B (zh) 2022-07-12

Family

ID=65793663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811445863.4A Active CN109522086B (zh) 2018-11-29 2018-11-29 对窗口的操作方法和装置、计算机装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN109522086B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262963A (zh) * 2019-05-21 2019-09-20 深圳壹账通智能科技有限公司 基于句柄的功能测试方法、装置及终端设备
CN111124575A (zh) * 2019-12-18 2020-05-08 北京数衍科技有限公司 窗体操作方法、装置和服务器
CN115662423A (zh) * 2022-10-19 2023-01-31 博泰车联网(南京)有限公司 语音控制方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830958A (zh) * 2011-06-16 2012-12-19 奇智软件(北京)有限公司 一种获取界面控件信息的方法及系统
US20130014057A1 (en) * 2011-07-07 2013-01-10 Thermal Matrix USA, Inc. Composite control for a graphical user interface
CN104391797A (zh) * 2014-12-09 2015-03-04 北京奇虎科技有限公司 Gui控件的识别方法和装置
CN104536750A (zh) * 2014-12-26 2015-04-22 北京奇虎科技有限公司 遍历窗口对象的方法及装置
CN107368380A (zh) * 2017-09-05 2017-11-21 深圳市兆驰数码科技股份有限公司 Windows系统下向任意窗口发送消息的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830958A (zh) * 2011-06-16 2012-12-19 奇智软件(北京)有限公司 一种获取界面控件信息的方法及系统
US20130014057A1 (en) * 2011-07-07 2013-01-10 Thermal Matrix USA, Inc. Composite control for a graphical user interface
CN104391797A (zh) * 2014-12-09 2015-03-04 北京奇虎科技有限公司 Gui控件的识别方法和装置
CN104536750A (zh) * 2014-12-26 2015-04-22 北京奇虎科技有限公司 遍历窗口对象的方法及装置
CN107368380A (zh) * 2017-09-05 2017-11-21 深圳市兆驰数码科技股份有限公司 Windows系统下向任意窗口发送消息的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEIXIN_30883777: "获取一个程序制定的子窗口或控件", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30883777/ARTICLE/DETAILS/96833918》 *
石尚书: "用VisualStudio\Spy++查窗口句柄,监控窗口消息", 《HTTPS://JINGYAN.BAIDU.COM/ARTICLE/7C6FB42818EA5480642C908C.HTML》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262963A (zh) * 2019-05-21 2019-09-20 深圳壹账通智能科技有限公司 基于句柄的功能测试方法、装置及终端设备
CN111124575A (zh) * 2019-12-18 2020-05-08 北京数衍科技有限公司 窗体操作方法、装置和服务器
CN111124575B (zh) * 2019-12-18 2023-07-28 北京数衍科技有限公司 窗体操作方法、装置和服务器
CN115662423A (zh) * 2022-10-19 2023-01-31 博泰车联网(南京)有限公司 语音控制方法、装置、设备及存储介质
CN115662423B (zh) * 2022-10-19 2023-11-03 博泰车联网(南京)有限公司 语音控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109522086B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN111144577B (zh) 异构图之中节点表示的生成方法、装置和电子设备
CN109522086A (zh) 对窗口的操作方法和装置、计算机装置及可读存储介质
CN110889161B (zh) 一种声控建筑信息模型三维显示系统和方法
CN111401562B (zh) 一种终端界面中量子线路的运行方法及装置
CN108733290A (zh) 绘画控制方法、装置及电子设备
US11842446B2 (en) VR scene and interaction method thereof, and terminal device
CN110502227A (zh) 代码补全的方法及装置、存储介质、电子设备
US10599324B2 (en) Hand gesture API using finite state machine and gesture language discrete values
CN109471626A (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
CN102819391B (zh) 一种多场景下具有并行性的多点触摸手势反馈系统及方法
CN107632827A (zh) 应用的安装包的生成方法及装置
CN106960036A (zh) 一种用于手势识别的数据库建立方法
CN109542440A (zh) 对窗口的操作方法和装置、计算机装置及可读存储介质
CN106406655A (zh) 一种文本处理的方法及移动终端
CN109918186A (zh) 一种应用程序的切换方法、装置及智能终端
CN104484156B (zh) 多语言公式的编辑方法、编辑系统和多语言公式编辑器
CN113626024A (zh) 结合rpa和ai的低代码开发方法、装置及计算设备
CN108898648A (zh) 一种k线图构造方法、系统及相关设备
CN109840201A (zh) Ui测试方法、装置、电子设备及计算机可读存储介质
CN111459917B (zh) 知识库管理方法、装置及处理设备
CN108154306A (zh) 众包模式的任务处理方法、装置、设备及计算机可读存储介质
CN109255104A (zh) 批文模板配置方法、装置、计算机设备及存储介质
CN102369526B (zh) 信息配置过程中的辅助方法及装置
CN110378784A (zh) 金额输入方法及装置
RU2300129C1 (ru) Способ ввода данных

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant