一种基于辅助功能API的应用程序控制方法及装置制造方法及图纸

技术编号:38685067 阅读:10 留言:0更新日期:2023-09-02 22:57
本发明专利技术公开了一种基于辅助功能API的应用程序控制方法及装置,涉及计算机技术领域。识别目标桌面操作系统的系统类型,根据系统类型确定目标桌面对应的目标辅助功能API;通过目标辅助功能API识别定位目标桌面上目标应用程序的界面元素,接收针对各界面元素的输入操作;通过目标辅助功能API调用各界面元素对应的目标代码模块,调用目标代码模块中封装的输入操作对应的操作逻辑,实现对目标应用程序的操作控制。针对不同系统类型通过对应辅助功能API,实现了获取应用程序的用户界面元素,并对其进行操作,使开发人员可以对用户界面元素进行操作提升开发效率。行操作提升开发效率。行操作提升开发效率。

【技术实现步骤摘要】
一种基于辅助功能API的应用程序控制方法及装置


[0001]本专利技术涉及计算机
,具体涉及一种基于辅助功能API的应用程序控制方法及装置。

技术介绍

[0002]在现代计算机系统中,桌面应用程序通常具有丰富的图形用户界面,这些界面包含了许多交互元素,如按钮、菜单、文本框等。用户可以通过单击、拖动、输入文本等方式与这些元素进行交互。然而,在某些情况下,用户可能需要对这些界面元素进行自动化操作,例如自动执行特定任务、收集数据等。现有技术中常见的方法是使用桌面应用程序自身提供的接口API来操作界面元素,但是并不是所有应用程序都提供了接口API。
[0003]在计算机软件应用程序的开发过程中,经常需要对操作系统和第三方应用程序进行操作,以达到特定的功能需求。但是,操作系统和第三方应用程序往往不会提供API或其他可用的接口来操作和控制其界面元素,这就给软件开发人员带来了不便,导致开发效率低下。

技术实现思路

[0004]本专利技术的目的就在于解决上述
技术介绍
的问题,而提出一种基于辅助功能API的应用程序控制方法及装置。
[0005]本专利技术的目的可以通过以下技术方案实现:
[0006]本专利技术实施例提供了一种基于辅助功能API的应用程序控制方法,所述方法包括:
[0007]识别目标桌面操作系统的系统类型,根据系统类型确定所述目标桌面对应的目标辅助功能API;
[0008]通过所述目标辅助功能API识别定位所述目标桌面上目标应用程序的界面元素,接收针对各界面元素的输入操作;
[0009]通过所述目标辅助功能API调用各界面元素对应的目标代码模块,调用所述目标代码模块中封装的所述输入操作对应的操作逻辑,实现对所述目标应用程序的操作控制。
[0010]可选地,在通过所述目标辅助功能API调用各界面元素对应的目标代码模块,调用所述目标代码模块中封装的所述输入操作对应的操作逻辑,实现对所述目标应用程序的操作控制之前所述方法还包括:
[0011]通过所述目标辅助功能API编写用于操作各界面元素的操作逻辑得到目标代码;
[0012]针对每一界面元素,将操作各界面元素的目标代码封装为该界面元素对应的目标代码模块;
[0013]将所述目标应用程序包含的各界面元素对应的目标代码模块集成到所述目标应用程序中。
[0014]可选地,所述目标辅助功能API使用二分查找或者哈希表识别定位所述目标桌面上目标应用程序的界面元素。
[0015]可选地,在对所述目标应用程序的操作控制过程中,使用多线程技术。
[0016]可选地,所述系统类型包括macOS系统和Windows系统。
[0017]可选地,若识别确定所述目标桌面操作系统的系统类型为macOS系统;则所述目标辅助功能API包括Accessibility API技术模块、ScriptingBridge技术模块和Objective

C Runtime技术模块;所述Accessibility API技术模块用于实现界面元素的识别定位;所述ScriptingBridge技术模块用于目标代码模块和操作逻辑调用;所述Objective

C Runtime技术模块用于目标代码模块的编写、封装与集成。
[0018]可选地,所述Objective

C Runtime技术模块编写目标代码模块的编程语言为Swift、Objective

C和Python中的一项。
[0019]可选地,若识别确定所述目标桌面操作系统的系统类型为Windows系统;则所述目标辅助功能API为Windows API;
[0020]通过对所述Windows API进行P/Invoke调用实现界面元素的识别定位、目标代码模块和操作逻辑调用以及目标代码模块的编写、封装与集成。
[0021]可选地,所述Windows API编写目标代码模块的编程语言为C++、C#中的一项。
[0022]本专利技术实施例还提供了一种基于辅助功能API的应用程序控制装置,所述装置包括:
[0023]系统类型识别模块,用于识别目标桌面操作系统的系统类型,根据系统类型确定所述目标桌面对应的目标辅助功能API;
[0024]识别定位模块,用于通过所述目标辅助功能API识别定位所述目标桌面上目标应用程序的界面元素,接收针对各界面元素的输入操作;
[0025]操作控制模块,用于通过所述目标辅助功能API调用各界面元素对应的目标代码模块,调用所述目标代码模块中封装的所述输入操作对应的操作逻辑,实现对所述目标应用程序的操作控制。
[0026]本专利技术的有益效果:
[0027]一种基于辅助功能API的应用程序控制方法,方法包括:识别目标桌面操作系统的系统类型,根据系统类型确定目标桌面对应的目标辅助功能API;通过目标辅助功能API识别定位目标桌面上目标应用程序的界面元素,接收针对各界面元素的输入操作;通过目标辅助功能API调用各界面元素对应的目标代码模块,调用目标代码模块中封装的输入操作对应的操作逻辑,实现对目标应用程序的操作控制。针对不同系统类型通过对应辅助功能API,实现了获取应用程序的用户界面元素,并对其进行操作,使开发人员可以对用户界面元素进行操作提升开发效率。
附图说明
[0028]下面结合附图对本专利技术作进一步的说明。
[0029]图1为本专利技术实施例提供的一种基于辅助功能API的应用程序控制方法的流程图;
[0030]图2为本专利技术实施例提供的另一种基于辅助功能API的应用程序控制方法的流程图;
[0031]图3为本专利技术实施例提供的一种基于辅助功能API的应用程序控制装置的结构图。
具体实施方式
[0032]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0033]本专利技术实施例提供了一种基于辅助功能API的应用程序控制方法,参见图1,图1为本专利技术实施例提供的一种基于辅助功能API的应用程序控制方法的流程图。方法包括:
[0034]S1,识别目标桌面操作系统的系统类型,根据系统类型确定目标桌面对应的目标辅助功能API。
[0035]S2,通过目标辅助功能API识别定位目标桌面上目标应用程序的界面元素,接收针对各界面元素的输入操作。
[0036]S3,通过目标辅助功能API调用各界面元素对应的目标代码模块,调用目标代码模块中封装的输入操作对应的操作逻辑,实现对目标应用程序的操作控制。
[0037]基于本专利技术实施例提供的一种基于辅助功能API的应用程序控制方法,针对不同系统类型通过对应辅助功能API,实现了获取应用程序的用户界面元素,并对其进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于辅助功能AP I的应用程序控制方法,其特征在于,所述方法包括:识别目标桌面操作系统的系统类型,根据系统类型确定所述目标桌面对应的目标辅助功能AP I;通过所述目标辅助功能API识别定位所述目标桌面上目标应用程序的界面元素,接收针对各界面元素的输入操作;通过所述目标辅助功能API调用各界面元素对应的目标代码模块,调用所述目标代码模块中封装的所述输入操作对应的操作逻辑,实现对所述目标应用程序的操作控制。2.根据权利要求1所述的一种基于辅助功能AP I的应用程序控制方法,其特征在于,在通过所述目标辅助功能API调用各界面元素对应的目标代码模块,调用所述目标代码模块中封装的所述输入操作对应的操作逻辑,实现对所述目标应用程序的操作控制之前所述方法还包括:通过所述目标辅助功能API编写用于操作各界面元素的操作逻辑得到目标代码;针对每一界面元素,将操作各界面元素的目标代码封装为该界面元素对应的目标代码模块;将所述目标应用程序包含的各界面元素对应的目标代码模块集成到所述目标应用程序中。3.根据权利要求2所述的一种基于辅助功能AP I的应用程序控制方法,其特征在于,所述目标辅助功能AP I使用二分查找或者哈希表识别定位所述目标桌面上目标应用程序的界面元素。4.根据权利要求2所述的一种基于辅助功能AP I的应用程序控制方法,其特征在于,在对所述目标应用程序的操作控制过程中,使用多线程技术。5.根据权利要求2所述的一种基于辅助功能API的应用程序控制方法,其特征在于,所述系统类型包括macOS系统和Windows系统。6.根据权利要求5所述的一种基于辅助功能API的应用程序控制方法,其特征在于,若识别确定所述目标桌面操作系统的系统类型为macOS系统;则所述目标辅助功能API包括Accessibility API技术模块、ScriptingBridge技术模块和Obj...

【专利技术属性】
技术研发人员:谢磊田羽张亮
申请(专利权)人:合肥图哇科技有限公司
类型:发明
国别省市:

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

1