CN112380094B - 一种rpa业务流程处理方法及装置 - Google Patents
一种rpa业务流程处理方法及装置 Download PDFInfo
- Publication number
- CN112380094B CN112380094B CN202011279409.3A CN202011279409A CN112380094B CN 112380094 B CN112380094 B CN 112380094B CN 202011279409 A CN202011279409 A CN 202011279409A CN 112380094 B CN112380094 B CN 112380094B
- Authority
- CN
- China
- Prior art keywords
- window
- program window
- target program
- rpa
- program
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种RPA业务流程处理方法及装置,用以提升程序运行的稳定性。本申请实施例方法包括:执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;检测所述程序窗口是否加载完成;若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
Description
技术领域
本申请涉及计算机数据处理技术领域,尤其涉及一种RPA业务流程处理方法及装置。
背景技术
机器人流程自动化(RPA)程序会经常使用UI自动化的技术(如鼠标点击、鼠标双击等)以达到操作其他应用程序的功能。常常有类似如下情况:
A:RPA程序打开A程序
B:RPA程序在A程序登录界面上输入用户名、密码、点击登录按钮。
而上述检测方案会出现在A程序的窗口还没加载完成时,就直接进行后续步骤B,从而导致步骤B中的操作无效,进一步导致后续操作的失败。如此,则会严重影响RPA程序设计出来的程序运行的准确性和稳定性。
发明内容
本申请实施例提供了一种RPA业务流程处理方法及装置,用以提升程序运行的稳定性。
本申请实施例第一方面提供了一种RPA业务流程处理方法方法,包括:
执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测所述程序窗口是否加载完成;
若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
优选的,所述检测所述程序窗口是否加载完成,包括:
获取目标程序窗口句柄;
根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;
针对所述顶层窗口句柄,设置全局钩子;
利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染所产生的系统消息;
若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染所产生的系统消息,则判定所述目标程序窗口加载完成。
优选的,所述获取目标程序窗口句柄,包括:
获取所述目标程序窗口的属性信息;
根据所述属性信息,识别所述目标程序窗口句柄。
优选的,所述目标程序窗口的属性信息包括:窗口标题、窗口类名及窗口索引位置中的至少一项。
优选的,所述预设时间段为200ms。
优选的,所述预设时间段支持自定义。
优选的,所述设置全局钩子,包括:
利用C++DLL组件设置所述全局钩子。
优选的,所述系统窗口为Windows窗口。
本申请实施例第二方面提供了一种流程自动化装置,包括:
第一执行单元,用于执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测单元,用于检测检测所述程序窗口是否加载完成;
第二执行单元,用于在所述程序窗口加载完成后,执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
优选的,所述检测单元,包括:
第一获取子单元,用于获取目标程序窗口句柄;
第二获取子单元,用于根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;
设置子单元,用于针对所述顶层窗口句柄,设置全局钩子;
监测子单元,用于利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染所产生的系统消息;
判定子单元,用于在预设时间段后,若监测不到所述目标程序窗口及其子窗口绘制渲染所产生的系统消息,则判定所述目标程序窗口加载完成。
优选的,所述第一获取单元具体用于:
获取所述目标程序窗口的属性信息;
根据所述属性信息,识别所述目标程序窗口句柄。
优选的,所述目标程序窗口的属性信息包括:窗口标题、窗口类名及窗口索引位置中的至少一项。
优选的,所述预设时间段为200ms。
优选的,所述预设时间段支持自定义。
优选的,所述设置单元具体用于:
利用C++DLL组件设置所述全局钩子。
优选的,所述系统窗口为Windows窗口。
本申请实施例第三方面提供了一种计算机装置,包括处理器,该处理器在执行存储于存储器上的计算机程序时,用于实现本申请实施例第一方面提供的RPA业务流程处理方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,用于实现本申请实施例第一方面提供的RPA业务流程处理方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;检测所述程序窗口是否加载完成;若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。因为本申请实施例,在程序窗口加载完成后,再执行RPA业务流程中与所述程序窗口关联的第二业务操作,从而提升了程序运行的稳定性和准确性。
附图说明
图1为本申请实施例中一种RPA业务流程处理方法的一个实施例示意图;
图2为本申请实施例中图1实施例中步骤102的细化步骤;
图3为本申请实施例中图2实施例中步骤201的细化步骤;
图4为本申请实施例中图2实施例中步骤203的细化步骤;
图5为本申请实施例中一种RPA业务流程处理装置的一个实施例示意图。
具体实施方式
本申请实施例提供了一种RPA业务流程处理方法及装置,用以提升程序运行的稳定性。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本申请实施例中的RPA业务流程处理方法进行描述,请参阅图1,本申请实施例中流程自动化方法的一个实施例,包括:
101、执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
为了实现对系统程序的自动化操作,机器人流程自动化(RPA)程序可以利用UI自动化技术(如鼠标点击、鼠标双击等)以达到操作其他应用程序的功能。
具体的,本申请实施例以机器人流程自动化程序执行第一业务操作为例进行说明。
作为示例性说明,例如本实施例中的应用程序可以是支付宝、淘宝、微信等,其中的第一业务操作为运行支付宝、淘宝、微信程序并打开支付宝、淘宝或微信中的程序窗口。
102、检测所述程序窗口是否加载完成,若是,则执行步骤103,若否,则执行步骤104;
现有技术,RPA流程往往是在第一业务操作中的程序窗口还没加载完成时,直接执行与程序窗口关联的第二业务操作,如在程序窗口中输入用户名和密码等,造成业务操作出错或执行错误。
本申请实施例为了提升RPA程序运行的稳定性和准确性,检测第一业务操作中的程序窗口是否加载完成,并在第一业务操作中的程序窗口加载完成后,执行步骤103,以提升程序运行的稳定性,否则执行步骤104。
103、执行所述RPA业务流程中与所述程序窗口关联的第二业务操作;
本申请实施例,在检测到第一业务操作中的程序窗口加载完成后,再执行RPA业务流程中与所述程序窗口关联的第二业务操作,如在第一业务操作的程序窗口中输入用户名和密码等,除此以外,与第一业务操作的程序窗口关联的第二业务操作还可以是点击具体的网址链接指令等,其中,具体的第二业务操作与具体的程序本身相关,此处不做具体限制。
104、执行其他流程。
本申请实施例,若检测到第一业务操作的程序窗口没有加载完成,则执行其他流程,此处不做具体限制。
本申请实施例中,执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;检测所述程序窗口是否加载完成;若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。因为本申请实施例,在程序窗口加载完成后,再执行RPA业务流程中与所述程序窗口关联的第二业务操作,从而提升了程序运行的稳定性和准确性。
基于图1所述的实施例,下面详细描述图1实施例中的步骤102,具体请参阅图2,本申请实施例中检测程序窗口是否加载完成一个实施例,包括:
201、获取目标程序窗口句柄;
本申请以Windows程序中的Windows程序窗口为例进行说明,在Windows程序中,有各种各样的资源:如窗口、图标、光标等,而Windows程序的窗体、窗体上的控件都属于窗口。
在Windows应用程序中,句柄是和窗口对象一一对应的32位无符号整数值。窗口对象可以映射到唯一的句柄,句柄也可以映射到唯一的窗口对象。在Windows应用程序中,窗口是通过窗口句柄(HWND)来标识的。在对目标程序窗口进行操作前,首先要获取目标程序窗口的句柄。
202、根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;
获取到目标程序窗口句柄后,进一步根据目标程序窗口句柄查找对应的顶层窗口句柄,需要说明的是,当目标程序窗口本身即为顶层窗口时,则跳过步骤202,直接执行步骤203。当目标程序窗口为子窗口时,则需要进一步查找该子窗口对应的顶层窗口。
在窗口布局中,一般子窗口和顶层窗口之间设置为树形结构,可以通过树形结构,逐层查找子窗口对应的顶层窗口。
203、针对所述顶层窗口句柄,设置全局钩子;
Windows系统是建立在事件驱动的机制上的,也就是说整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息。
全局钩子作为系统钩子的一种,实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数既可以加工处理(改变)该消息,也可以不作处理继续传递该消息,还可以强制结束消息的传递。
所以通过在顶层窗口句柄设置全局钩子,可以捕获与目标程序窗口及子窗口相关的系统消息。
204、利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染的系统消息;
步骤203中设置的全局钩子,可以在目标程序窗口及其子窗口绘制渲染的系统消息未到达目标程序窗口时,对上述消息进行捕获,以用于实时监测目标程序窗口及子窗口绘制渲染的进度。
205、若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染的系统消息,则判定所述目标程序窗口加载完成。
一个标准Windows窗体的加载过程包括:设计窗口类、注册窗口类、创建窗口、显示窗口、启动消息循环泵循环获取消息分发到窗体过程函数处理。
本申请主要关注的是窗口的加载绘制渲染,而窗口及其所有子窗口的加载均会产生相应的Windows消息,故本申请可以设置预设时间段,用于监测目标程序窗口及其子窗口绘制渲染的Windows消息,如目标程序窗口或子窗口的与创建窗口、绘制窗口、移动窗口及缩放窗口等相关的信息,若在预设时间段后,监测不到上述系统消息,则可以判定目标程序窗口加载完成。
需要说明的是,上述预设时间段支持用户自定义,本申请根据实验验证,优选的将预设时间段设为200ms,但用户可以在实际应用场景中进行自行调整,此处不做具体限制。
本申请实施例中,先获取目标程序窗口句柄;根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;针对所述顶层窗口句柄,设置全局钩子;利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染的系统消息;若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染的系统消息,则判定所述目标程序窗口加载完成。因为本申请实施例,以窗口界面加载绘制渲染相关的系统消息作为检测窗口是否加载完成的依据,而系统消息作为窗口绘制渲染的实时信息,与窗口绘制渲染进度保持完全一致性,故可以提升对窗口加载进度检测的准确度。
基于图2所述的实施例,下面详细描述步骤201,请参阅图3,图3为图2实施例中步骤201的细化步骤:
301、获取所述目标程序窗口的属性信息;
具体的,一般目标程序窗口的属性信息包括但不限于:窗口名称、窗口类名和窗口的索引位置。
302、根据所述属性信息,识别所述目标程序窗口句柄。
获取到目标程序窗口的属性信息后,进一步根据该属性信息识别目标程序窗口句柄,具体的,当获取到目标程序窗口的名称后,可以根据目标程序窗口名称,通过Windows的API接口查询目标程序窗口句柄;当获取到目标程序窗口的类别名称后,也可以根据目标程序窗口的类别名称,通过Windows的API接口查询目标程序窗口句柄;当获取到目标程序窗口的索引位置后,也可以进一步根据该索引位置,通过Windows的API接口查询目标程序窗口句柄。
本申请实施例中,对获取目标程序窗口句柄的过程做了详细描述,且根据目标程序窗口的属性信息查询目标程序窗口句柄,提升了查询目标程序窗口句柄的便捷性。
基于图1至图3所述的实施例,下面详细描述步骤203,请参阅图4,图4为图2实施例中步骤203的细化步骤:
401、利用C++DLL组件设置所述全局钩子。
在对顶层窗口设置全局钩子时,可以利用C++DLL组件设置该全局钩子,其中,C++DLL组件为根据C++语言编译的扩展名为DLL的文件,用于针对顶层窗口设置全局钩子。
本实施例中,对设置全局钩子的过程做了详细描述,提升了本申请实施例的可实施性。
上面对本申请实施例中RPA业务流程处理方法进行了描述,下面接着对本申请实施例RPA业务流程处理装置进行描述,请参阅图5,本申请实施例中RPA业务流程处理装置的一个实施例,包括:
第一执行单元501,用于执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测单元502,用于检测所述程序窗口是否加载完成;
第二执行单元503,用于在所述程序窗口加载完成后,执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
优选的,所述检测单元502包括:
第一获取子单元5021,用于获取目标程序窗口句柄;
第二获取子单元5022,用于根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;
设置子单元5023,用于针对所述顶层窗口句柄,设置全局钩子;
监测子单元5024,用于利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染的系统消息;
判定子单元5025,用于在预设时间段后,若监测不到所述目标程序窗口及其子窗口绘制渲染的系统消息,则判定所述目标程序窗口加载完成。
优选的,所述第一获取自单元5021具体用于:
获取所述目标程序窗口的属性信息;
根据所述属性信息,识别所述目标程序窗口句柄。
优选的,所述目标程序窗口的属性信息包括:窗口标题、窗口类名及窗口索引位置中的至少一项。
优选的,所述预设时间段为200ms。
优选的,所述预设时间段支持自定义。
优选的,所述设置子单元5023具体用于:
利用C++DLL组件设置所述全局钩子。
需要说明的是,上述各单元的作用与图1至图4实施例描述的类似,此处不再赘述。
本申请实施例中,通过第一执行单元501执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;通过检测单元502检测所述程序窗口是否加载完成;若是,则通过第二执行单元503执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。因为本申请实施例,在程序窗口加载完成后,再执行RPA业务流程中与所述程序窗口关联的第二业务操作,从而提升了程序运行的稳定性和准确性。
进一步,本申请实施例通过第一获取子单元5021获取目标程序窗口句柄;根据所述目标程序窗口句柄,通过第二获取子单元5022获取对应的顶层窗口句柄;针对所述顶层窗口句柄,通过设置子单元5023设置全局钩子;利用所述全局钩子,通过监测子单元5024实时监测所述目标程序窗口及其子窗口绘制渲染的系统消息;若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染的系统消息,则通过判定子单元5025判定所述目标程序窗口加载完成。因为本申请实施例,以窗口界面加载绘制渲染相关的系统消息作为检测窗口是否加载完成的依据,而系统消息作为窗口绘制渲染的实时信息,与窗口绘制渲染进度保持完全一致性,故可以提升对窗口加载进度检测的准确度。
上面从模块化功能实体的角度对本申请实施例中的RPA业务流程处理装置进行了描述,下面从硬件处理的角度对本申请实施例中的计算机装置进行描述:
该计算机装置用于实现RPA业务流程处理装置的功能,本申请实施例中计算机装置一个实施例包括:
处理器以及存储器;
存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序时,可以实现如下步骤:
执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测所述程序窗口是否加载完成;
若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
在本申请的一些实施例中,处理器,还可以用于实现如下步骤:
获取目标程序窗口句柄;
根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;
针对所述顶层窗口句柄,设置全局钩子;
利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染的系统消息;
若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染的系统消息,则判定所述目标程序窗口加载完成。
在本申请的一些实施例中,处理器,还可以用于实现如下步骤:
获取所述目标程序窗口的属性信息;
根据所述属性信息,识别所述目标程序窗口句柄。
在本申请的一些实施例中,处理器,还可以用于实现如下步骤:
利用C++DLL组件设置所述全局钩子。
可以理解的是,上述说明的计算机装置中的处理器执行所述计算机程序时,也可以实现上述对应的各装置实施例中各单元的功能,此处不再赘述。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述RPA业务流程处理装置中的执行过程。例如,所述计算机程序可以被分割成上述RPA业务流程处理装置中的各单元,各单元可以实现如上述相应RPA业务流程处理装置说明的具体功能。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,处理器、存储器仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(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)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现RPA业务流程处理装置的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如下步骤:
执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测所述程序窗口是否加载完成;
若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
在本申请的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
获取目标程序窗口句柄;
根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;
针对所述顶层窗口句柄,设置全局钩子;
利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染的系统消息;
若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染的系统消息,则判定所述目标程序窗口加载完成。
在本申请的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
获取所述目标程序窗口的属性信息;
根据所述属性信息,识别所述目标程序窗口句柄。
在本申请的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
利用C++DLL组件设置所述全局钩子。
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本申请实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种RPA业务流程处理方法,其特征在于,所述方法包括:
执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测所述程序窗口是否加载完成,所述检测所述程序窗口是否加载完成包括:获取目标程序窗口句柄;根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;针对所述顶层窗口句柄,设置全局钩子;利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染所产生的系统消息;若预设时间段后,监测不到所述目标程序窗口及其子窗口绘制渲染所产生的系统消息,则判定所述目标程序窗口加载完成;
若是,则执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
2.根据权利要求1所述的方法,其特征在于,所述获取目标程序窗口句柄,包括:
获取所述目标程序窗口的属性信息;
根据所述属性信息,识别所述目标程序窗口句柄。
3.根据权利要求2所述的方法,其特征在于,所述目标程序窗口的属性信息包括:窗口标题、窗口类名及窗口索引位置中的至少一项。
4.根据权利要求1所述的方法,其特征在于,所述预设时间段支持自定义。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述设置全局钩子,包括:
利用C++DLL组件设置所述全局钩子。
6.一种RPA业务流程处理装置,其特征在于,包括:
第一执行单元,用于执行RPA业务流程中的第一业务操作,所述第一业务操作包括运行应用程序并打开程序窗口;
检测单元,用于检测所述程序窗口是否加载完成;所述检测单元具体包括:第一获取子单元,用于获取目标程序窗口句柄;第二获取子单元,用于根据所述目标程序窗口句柄,获取对应的顶层窗口句柄;设置子单元,用于针对所述顶层窗口句柄,设置全局钩子;监测子单元,用于利用所述全局钩子,实时监测所述目标程序窗口及其子窗口绘制渲染所产生的系统消息;判定子单元,用于在预设时间段后,若监测不到所述目标程序窗口及其子窗口绘制渲染所产生的系统消息,则判定所述目标程序窗口加载完成;
第二执行单元,用于在所述程序窗口加载完成后,执行所述RPA业务流程中与所述程序窗口关联的第二业务操作。
7.一种计算机装置,包括处理器,其特征在于,所述处理器在执行存储于存储器上的计算机程序时,用于实现如权利要求1至5中任一项所述的RPA业务流程处理方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,用于实现如权利要求1至5中任一项所述的RPA业务流程处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011279409.3A CN112380094B (zh) | 2020-11-16 | 2020-11-16 | 一种rpa业务流程处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011279409.3A CN112380094B (zh) | 2020-11-16 | 2020-11-16 | 一种rpa业务流程处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380094A CN112380094A (zh) | 2021-02-19 |
CN112380094B true CN112380094B (zh) | 2023-07-04 |
Family
ID=74585339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011279409.3A Active CN112380094B (zh) | 2020-11-16 | 2020-11-16 | 一种rpa业务流程处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380094B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014669B (zh) * | 2021-03-24 | 2022-08-23 | 深圳市卡牛科技有限公司 | 基于rpa的代理服务方法、系统、服务器和存储介质 |
CN114185462A (zh) * | 2021-11-05 | 2022-03-15 | 北京来也网络科技有限公司 | 基于ai和rpa系统分身窗口的控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5454086A (en) * | 1992-08-11 | 1995-09-26 | International Business Machines Corporation | Dynamic program analyzer facility |
CN106843917A (zh) * | 2015-12-07 | 2017-06-13 | 珠海市君天电子科技有限公司 | 一种驱动程序的加载方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239503A (zh) * | 2014-09-11 | 2014-12-24 | 可牛网络技术(北京)有限公司 | 加载进度的显示控制方法、装置、浏览器和电子设备 |
US20170206501A1 (en) * | 2016-01-20 | 2017-07-20 | Tso Jen Wang | Work Collaboration System with Hierarchical Views, Media Sharing, and Messaging |
CN110968508B (zh) * | 2019-11-21 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 一种小程序的加载时间确定方法、装置、终端及存储介质 |
CN111176752B (zh) * | 2019-12-20 | 2023-05-16 | 汪佐怀 | 一种浏览器页面内嵌窗口小程序的方法及装置 |
-
2020
- 2020-11-16 CN CN202011279409.3A patent/CN112380094B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5454086A (en) * | 1992-08-11 | 1995-09-26 | International Business Machines Corporation | Dynamic program analyzer facility |
CN106843917A (zh) * | 2015-12-07 | 2017-06-13 | 珠海市君天电子科技有限公司 | 一种驱动程序的加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112380094A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107390983B (zh) | 业务指令执行方法、客户端和存储介质 | |
CN107193750B (zh) | 一种脚本录制方法和装置 | |
CN112380094B (zh) | 一种rpa业务流程处理方法及装置 | |
CN108933695B (zh) | 用于处理信息的方法和装置 | |
CN114389969B (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN112561332B (zh) | 模型管理方法、装置、电子设备、存储介质和程序产品 | |
CN111666217A (zh) | 用于测试代码的方法和装置 | |
WO2015058618A1 (en) | Method and apparatus for displaying processing status | |
CN112199404A (zh) | 报表的创建方法、装置、电子设备及计算机可读存储介质 | |
CN113407254B (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN112346947B (zh) | 性能检测方法、装置、电子设备和计算机可读介质 | |
CN108062401B (zh) | 应用推荐方法、装置及存储介质 | |
CN111753330B (zh) | 数据泄露主体的确定方法、装置、设备和可读存储介质 | |
CN113127327B (zh) | 一种用于性能测试的测试方法及装置 | |
CN110362297B (zh) | 一种元素排序方法和装置 | |
CN108415656B (zh) | 虚拟场景中的显示控制方法、装置、介质及电子设备 | |
CN116009847A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN111506499B (zh) | 一种小程序中参数可用性检测方法、装置以及电子设备 | |
CN115309730A (zh) | 数据审核方法、装置、电子设备及存储介质 | |
CN115687224A (zh) | 一种异步处理流程生成方法及装置 | |
CA2961682A1 (en) | Information display method, terminal, and server | |
CN115167728A (zh) | 菜单栏合并及显示方法、装置及计算机可读存储介质 | |
CN115080003A (zh) | 零代码平台的运行方法、装置、电子设备及存储介质 | |
CN111339380B (zh) | 一种接口耗时数据处理方法及相关装置 | |
CN111737372A (zh) | 地图数据生成方法和装置 |
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 |