一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

程序的调用方法、装置、电子设备及可读存储介质与流程

2022-08-17 02:43:01 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种程序的调用方法、装置、电子设备及可读存储介质。


背景技术:

2.随着社会的发展,电脑等电子设备已经融入人们的生活中,人们可以通过电子设备中的各类应用程序进行各种各样的业务。在通过电子设备的应用程序进行一些业务的过程中,可能会涉及程序的调用。其中,程序的调用是指电子设备在运行第一应用程序的过程中,通过第一应用程序调用第二应用程序,第二应用程序为嵌入第一应用程序的exe程序(可执行程序)。比如,在进行支付业务的过程中,电子设备可以通过订单应用程序调用支付应用程序。
3.目前,为了避免电子设备在通过第一应用程序调用第二应用程序后,第一应用程序的第一运行窗口与第二应用程序的第二运行窗口来回进行切换,通常需要对第一运行窗口和第二运行窗口进行一些处理。比如,在调用第二应用程序的过程中,电子设备将第一运行窗口的窗口句柄进行置底,或者将第一运行窗口进行隐藏或禁用,以达到置底第一运行窗口的目的。同时,将第二运行窗口的句柄置顶,以达到置顶第二运行窗口的目的,从而实现第二应用程序不结束,第一应用程序不继续的效果。
4.但是,如果当前不止存在第一运行窗口和第二运行窗口,那么频繁地进行置顶和置底操作容易导致窗口显示异常、窗口焦点混乱等问题出现。


技术实现要素:

5.本技术实施例提供了一种程序的调用方法、装置、电子设备及可读存储介质,可以解决相关技术中窗口频繁切换,导致窗口显示异常、焦点混乱的问题。所述技术方案如下:
6.第一方面,提供了一种程序的调用方法,所述方法包括:
7.在运行第一应用程序的过程中,若在所述第一应用程序的第一运行窗口中接收到对第二应用程序的调用指令,则获取调用参数,所述调用参数为调用所述第二应用程序所使用的参数;
8.基于所述调用参数,拉起所述第二应用程序;
9.在拉起所述第二应用程序的过程中,将所述第二应用程序的第二运行窗口设置为所述第一应用程序的模态子窗口。
10.作为本技术的一个示例,所述基于所述调用参数,拉起所述第二应用程序,包括:
11.将所述调用参数按照指定形式进行记录,得到目标应用程序的目标命令行参数,所述目标应用程序用于拉起任意一个需要调用的应用程序;
12.基于所述目标命令行参数,弹出所述目标应用程序的目标运行窗口,所述目标运行窗口为所述第一应用程序的模态子窗口;
13.通过所述目标运行窗口基于所述目标命令行参数,拉起所述第二应用程序;
14.所述在拉起所述第二应用程序的过程中,将所述第二应用程序的第二运行窗口设置为所述第一应用程序的模态子窗口,包括:
15.在拉起所述第二应用程序的过程中,将所述第二运行窗口设置为所述目标运行窗口的子窗口。
16.作为本技术的一个示例,所述基于所述目标命令行参数,弹出目标应用程序的目标运行窗口,包括:
17.通过所述目标应用程序对所述目标命令行参数进行解析,得到所述第一应用程序的窗口信息;
18.根据所述第一应用程序的窗口信息,弹出所述目标运行窗口。
19.作为本技术的一个示例,所述在拉起所述第二应用程序的过程中,将所述第二运行窗口设置为所述目标运行窗口的子窗口,包括:
20.在拉起所述第二应用程序的过程中,通过所述目标运行窗口获取所述第二应用程序的窗口信息;
21.根据所述第二应用程序的窗口信息和所述目标运行窗口的窗口信息,将所述第二运行窗口设置为所述目标运行窗口的子窗口。
22.作为本技术的一个示例,所述通过所述目标运行窗口基于所述目标命令行参数,拉起所述第二应用程序之前,还包括:
23.将所述目标运行窗口设置为隐藏状态。
24.作为本技术的一个示例,所述通过所述目标运行窗口基于所述目标命令行参数,拉起所述第二应用程序之后,还包括:
25.通过所述目标运行窗口检测所述第二应用程序的运行状态;
26.在检测到所述第二应用程序退出运行的情况下,关闭所述目标运行窗口。
27.作为本技术的一个示例,所述基于所述调用参数,拉起所述第二应用程序,包括:
28.通过所述第一运行窗口基于所述调用参数,拉起所述第二应用程序;
29.所述在拉起所述第二应用程序的过程中,将所述第二应用程序的第二运行窗口设置为所述第一应用程序的模态子窗口,包括:
30.在拉起所述第二应用程序的过程中,根据所述调用参数包括的所述第一应用程序的窗口信息,弹出所述第二运行窗口,所述第二运行窗口为所述第一应用程序的模态子窗口。
31.第二方面,提供了一种程序的调用装置,所述装置包括:
32.获取模块,用于在运行第一应用程序的过程中,若在所述第一应用程序的第一运行窗口中接收到对第二应用程序的调用指令,则获取调用参数,所述调用参数为调用所述第二应用程序所使用的参数;
33.拉起模块,用于基于所述调用参数,拉起所述第二应用程序;
34.设置模块,用于在拉起所述第二应用程序的过程中,将所述第二应用程序的第二运行窗口设置为所述第一应用程序的模态子窗口。
35.作为本技术的一个示例,所述拉起模块包括:
36.记录子模块,用于将所述调用参数按照指定形式进行记录,得到目标应用程序的目标命令行参数,所述目标应用程序用于拉起任意一个需要调用的应用程序;
37.弹出子模块,用于基于所述目标命令行参数,弹出所述目标应用程序的目标运行窗口,所述目标运行窗口为所述第一应用程序的模态子窗口;
38.第一拉起子模块,用于通过所述目标运行窗口基于所述目标命令行参数,拉起所述第二应用程序;
39.所述设置模块用于:
40.在拉起所述第二应用程序的过程中,将所述第二运行窗口设置为所述目标运行窗口的子窗口。
41.作为本技术的一个示例,所述弹出子模块用于:
42.通过所述目标应用程序对所述目标命令行参数进行解析,得到所述第一应用程序的窗口信息;
43.根据所述第一应用程序的窗口信息,弹出所述目标运行窗口。
44.作为本技术的一个示例,所述设置模块用于:
45.在拉起所述第二应用程序的过程中,通过所述目标运行窗口获取所述第二应用程序的窗口信息;
46.根据所述第二应用程序的窗口信息和所述目标运行窗口的窗口信息,将所述第二运行窗口设置为所述目标运行窗口的子窗口。
47.作为本技术的一个示例,所述拉起模块还包括:
48.设置子模块,用于将所述目标运行窗口设置为隐藏状态。
49.作为本技术的一个示例,所述拉起模块还包括:
50.检测子模块,用于通过所述目标运行窗口检测所述第二应用程序的运行状态;
51.关闭子模块,用于在检测到所述第二应用程序退出运行的情况下,关闭所述目标运行窗口。
52.作为本技术的一个示例,所述拉起模块包括:
53.第二拉起子模块,用于通过所述第一运行窗口基于所述调用参数,拉起所述第二应用程序;
54.所述设置模块用于:
55.在拉起所述第二应用程序的过程中,根据所述调用参数包括的所述第一应用程序的窗口信息,弹出所述第二运行窗口,所述第二运行窗口为所述第一应用程序的模态子窗口。
56.第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的用于程序的调用的方法。
57.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的用于程序的调用的方法。
58.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的用于程序的调用的方法。
59.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
60.本技术实施例提供的技术方案带来的有益效果是:
61.在本技术实施例中,在第一应用程序的第一运行窗口中需要调用第二应用程序的情况下,可以基于调用参数拉起第二应用程序,并在拉起第二应用程序的过程中,将第二运行窗口设置为第一应用程序的模态子窗口,从而在不进行置顶、置底、隐藏、禁用等操作的情况下,实现第二应用程序不结束,第一应用程序无法继续的效果,避免了第二运行窗口与第一运行窗口来回切换,同时保证了焦点的准确性和有效性。
附图说明
62.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
63.图1是根据一示例性实施例示出的一种程序的调用方法流程图。
64.图2是根据一示例性实施例示出的一种程序的调用装置的结构示意图。
65.图3是根据一示例性实施例示出的一种拉起模块的结构示意图。
66.图4是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
67.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
68.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
69.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
70.在对本技术实施例提供的一种程序的调用方法进行详细地解释说明之前,先对本技术实施例提供的一种应用场景进行说明。
71.随着社会的发展,电脑等电子设备已经融入人们的生活中,人们可以通过电子设备中的各类应用程序进行各种各样的业务。在通过电子设备的应用程序进行一些业务的过程中,可能会涉及程序的调用。其中,程序的调用是指电子设备在运行第一应用程序的过程中,通过第一应用程序调用第二应用程序,从而人们可以在第二应用程序的第二运行窗口中进行一些交互,该第二应用程序为嵌入第一应用程序的exe程序(可执行程序)。
72.以零售erp(enterprise resource planning,企业资源计划)前台的银联场景为例,当需要在前台进行支付结算的情况下,电子设备可以通过订单应用程序向支付应用程序发送相关指令,支付应用程序可以弹出等待窗口以等待用户进行刷卡支付,或者弹出扫码支付窗口等待用户进行扫码。在检测到用户支付完成后,返回订单应用程序的订单运行窗口,并在订单运行窗口中读取交易结果来结束交易。在这个过程中,收银员可能会因一些不当操作,导致订单运行窗口和支付应用程序弹出的窗口来回切换,或者,支付应用程序弹出的窗口没有焦点,或者支付结束后订单运行窗口没有恢复焦点。由于目前收银设备大多为非触屏且使用键盘操作的电子设备,这些收银设备未能安装鼠标,所有操作只能通过键盘进行,因此,在发生上述的焦点丢失、窗口被切换等问题的情况下,需要收银员通过键盘操作解决出现的问题,十分影响收银效率,比如,收银员需要通过键盘中的alt tab键来切换窗口。因此,为了避免电子设备在通过第一应用程序调用第二应用程序后,第一应用程序的第一运行窗口与第二应用程序的第二运行窗口来回进行切换,通常需要对第一运行窗口和第二运行窗口进行一些处理。
73.比如,在调用第二应用程序的过程中,电子设备将第一运行窗口的窗口句柄进行置底,或者将第一运行窗口进行隐藏或禁用,以达到置底第一运行窗口的目的。同时,将第二运行窗口的句柄置顶,以达到置顶第二运行窗口的目的,从而实现第二应用程序不结束,第一应用程序不继续的效果。
74.但是,如果当前不止存在第一运行窗口和第二运行窗口,那么频繁地进行置顶和置底操作容易导致窗口显示异常、窗口焦点混乱等问题出现。同时,如果多个场景需要调用外部exe程序,那么需要重复对多个窗口进行置顶,进一步导致窗口显示混乱。
75.基于这样的应用场景,本技术实施例提供了一种避免窗口进行切换的程序的调用方法。
76.图1是根据一示例性实施例示出的一种程序的调用方法流程图,本实施例以该程序的调用方法应用于电子设备中进行举例说明,该电子设备方法可以包括如下几个步骤:
77.步骤101:电子设备在运行第一应用程序的过程中,若在第一应用程序的第一运行窗口中接收到对第二应用程序的调用指令,则获取调用参数。
78.需要说明的是,该调用参数为调用第二应用程序所使用的参数。该调用参数可以包括第二应用程序的程序标识和/或程序获取路径、第一应用程序的窗口信息、第二应用程序的命令行参数等参数。其中,第二应用程序的命令行参数为可选项目,即调用参数中可以包括第二应用程序的命令行参数,也可以不包括第二应用程序的命令行参数。
79.还需要说明的是,第一应用程序的窗口信息可以包括第一应用程序的窗口句柄等信息。
80.作为一种示例,电子设备可以根据第二应用程序所显示的内容选择是否包括第二应用程序的命令行参数。
81.作为一种示例,该调用参数可以携带在调用指令中,电子设备可以在接收到调用指令的情况下,从调用指令中获取调用参数。或者,电子设备可以通过其他方式获取调用参数,本技术实施例对此不做具体限制。
82.在一种实施环境中,当第一应用程序为订单应用程序,第二应用程序为支付应用程序的情况下,若电子设备在运行订单应用程序的过程中,接收到对支付应用程序的调用
指令(此时的调用指令可以为支付请求指令),且调用指令中包括支付应用程序的程序标识和/或程序获取路径、订单应用程序的窗口信息、支付金额、收银人员信息、支付小票信息等参数的情况下,电子设备可以从调用指令中获取支付应用程序的程序标识和/或程序获取路径、订单应用程序的窗口信息、支付金额、收银人员信息、支付小票信息等参数,并将获取的参数确定为调用参数。其中,支付金额、收银人员信息、支付小票信息等参数为支付应用程序的命令行参数。若调用指令中包括支付应用程序的标识和/或程序获取路径,以及订单应用程序的窗口信息,则电子设备可以从调用指令中获取支付应用程序的程序标识和/或程序获取路径,以及订单应用程序的窗口信息,并将获取的参数确定为调用参数。
83.需要说明的是,该调用指令可以是用户通过指定操作作用在第一运行窗口中的情况下触发,该指定操作可以为点击操作、滑动操作、按压操作、语音操作等等。
84.步骤102:电子设备基于调用参数,拉起第二应用程序。
85.由于调用参数为调用第二应用程序所使用的参数,因此,电子设备可以基于调用参数,拉起第二应用程序。
86.作为一种示例,电子设备基于调用参数,拉起第二应用程序的操作包括:将调用参数按照指定形式进行记录,得到目标应用程序的目标命令行参数,该目标应用程序用于拉起任意一个需要调用的应用程序;基于目标命令行参数,弹出该目标应用程序的目标运行窗口,目标运行窗口为第一应用程序的模态子窗口;通过目标运行窗口基于目标命令行参数,拉起第二应用程序。
87.值得说明的是,由于目标应用程序可以用于拉起任意一个需要调用的应用程序,如此,在电子设备中存在多个应用程序需要进行程序调用的情况下,无需在每个应用程序中编写调用程序,从而在电子设备中任一个应用程序需要进行程序调用的情况下,都可以通过目标应用程序进行程序调用,保证了程序调用方式的通用性和兼容性。
88.需要说明的是,指定形式为目标应用程序读取对应的命令行参数的形式,该指定形式根据需求事先进行设置,比如,在调用参数包括第二应用程序的程序标识和/或程序获取路径、第一应用程序的窗口信息,以及第二应用程序的命令行参数的情况下,该指定形式可以为[第二应用程序的程序标识和/或程序获取路径|第一应用程序的窗口信息|第二应用程序的命令行参数]。
[0089]
在一种实施例中,电子设备基于目标命令行参数,弹出目标应用程序的目标运行窗口的操作包括:通过目标应用程序对目标命令行参数进行解析,得到第一应用程序的窗口信息;根据第一应用程序的窗口信息,弹出目标运行窗口。
[0090]
作为一种示例,电子设备可以通过第一应用程序向目标应用程序发送调用请求,该调用请求是第一应用程序接收到调用指令后发送,且调用请求中携带有目标应用程序的目标命令行参数。电子设备通过目标应用程序在接收到第一应用程序发送的调用请求,并对调用请求中携带的目标命令行参数进行解析,得到第一应用程序的窗口信息。
[0091]
需要说明的是,电子设备通过目标应用程序对目标命令行参数进行解析的操作可以参考相关技术,本技术实施例对此不再进行一一赘述。
[0092]
由上述可知,第一应用程序的窗口信息可以包括第一应用程序的窗口句柄,因此,电子设备可以将第一应用程序的窗口句柄作为目标应用程序的窗口句柄,并根据该窗口句柄绘制目标运行窗口,以使该目标运行窗口为第一运行窗口的模态子窗口。
[0093]
值得说明的是,由于目标运行窗口为第一运行窗口的模态子窗口,在目标运行窗口运行的情况下,第一运行窗口处于不可操作的状态,且第一运行窗口也无法获取焦点,如此,在不需要对第一运行窗口进行禁用、隐藏或置底的操作的情况下,即可实现对第一运行窗口的禁用。
[0094]
由于目标命令行参数是电子设备将调用参数按照指定形式记录后得到,因此,该目标命令行参数中还包括第二应用程序的程序标识和/或程序获取路径,电子设备可以通过目标运行窗口基于第二应用程序的程序标识和/或程序获取路径,拉起第二应用程序。
[0095]
需要说明的是,该程序标识用于唯一标识第二应用程序,该程序标识可以为第二应用程序的名称、图标等中的至少一种。程序获取路径用于描述第二应用程序的安装位置。
[0096]
作为一种示例,在目标命令行参数中包括第二应用程序的程序获取路径的情况下,电子设备可以按照程序获取路径获取到第二应用程序的安装位置,通过目标运行窗口根据第二应用程序的安装位置,拉起第二应用程序。在目标命令行参数中包括第二应用程序的程序标识的情况下,电子设备可以按照程序标识确定第二应用程序的安装包名,并通过目标运行窗口根据第二应用程序的安装包名,拉起第二应用程序。在目标命令行参数中包括第二应用程序的程序标识和程序获取路径的情况下,通过目标运行窗口根据第二应用程序的程序标识和程序获取路径中的至少一个,拉起第二应用程序。
[0097]
需要说明的是,电子设备基于第二应用程序的程序标识和/或程序获取路径,拉起第二应用程序的具体操作可以参考相关技术,本技术实施例对此不再进行一一赘述。
[0098]
在一种实施例中,电子设备通过目标运行窗口基于目标命令行参数,拉起第二应用程序之前,还可以将目标运行窗口设置为隐藏状态。
[0099]
需要说明的是,电子设备将目标运行窗口设置为隐藏状态的操作可以参考相关技术,本技术实施例对此不再进行一一赘述。
[0100]
值得说明的是,由于可以将目标运行窗口设置为隐藏状态,从而避免了目标运行窗口的显示对第一运行窗口和第二运行窗口的显示产生影响。
[0101]
在一种实施例中,电子设备不仅可以通过上述方式基于调用参数,拉起第二应用程序,电子设备还可以通过其他方式,基于调用参数,拉起第二应用程序,比如,电子设备还可以通过第一运行窗口基于调用参数,拉起第二应用程序。
[0102]
需要说明的是,由于有些业务场景中,电子设备中安装的应用程序有限,比如,在收银场景中,电子设备通常用来收银,而不进行其他业务,或者,就算进行收银意外的业务,也很少使用到程序调用,在这样的情况下,第一应用程序拉起的应用程序较为固定,因此,为了节省程序资源,电子设备可以通过第一应用程序拉起第二应用程序。
[0103]
步骤103:电子设备在拉起第二应用程序的过程中,将第二应用程序的第二运行窗口设置为第一应用程序的模态子窗口。
[0104]
由上述可知,电子设备可以通过不同的方式拉起第二应用程序,在拉起第二应用程序的方式不同的情况下,电子设备在拉起第二应用程序的过程中,将第二应用程序的第二运行窗口设置为第一应用程序的模态子窗口的方式也不同。
[0105]
作为一种示例,若电子设备通过目标运行窗口基于目标命令行参数,拉起第二应用程序,则电子设备在拉起第二应用程序的过程中,将第二应用程序的第二运行窗口设置为第一应用程序的模态子窗口的操作包括:在拉起第二应用程序的过程中,将第二运行窗
口设置为目标运行窗口的子窗口。
[0106]
由于目标运行窗口为第一运行窗口的模态子窗口,因此,当第二运行窗口为目标运行窗口的子窗口的情况下,第二运行窗口通过目标运行窗口成为了第一运行窗口的模态子窗口,从而实现了在第二应用程序处于运行状态的情况下,用户无法从第二运行窗口切换回第一运行窗口,避免了窗口之间的来回切换。
[0107]
在一种实施例中,电子设备在拉起第二应用程序的过程中,可以通过目标运行窗口获取第二应用程序的窗口信息;根据第二应用程序的窗口信息和目标运行窗口的窗口信息,将第二运行窗口设置为目标运行窗口的子窗口。
[0108]
由于窗口与窗口之间可以通过api(application programming interface,应用程序编程接口)的相关函数进行通信,因此,电子设备可以通过目标运行窗口获取第二运行窗口的窗口信息,该第二运行窗口的窗口信息可以为第二运行窗口的窗体句柄。
[0109]
作为一种示例,该api的相关函数可以为windows系统中的api的相关函数,即本技术实施例中电子设备的操作系统可以为windows系统,当然也可以为其他系统,本技术实施例对此不做具体限制。在电子设备的操作系统不同的情况下,api的相关函数为对应操作系统中的api的相关函数。
[0110]
需要说明的是,电子设备通过目标运行窗口获取第二运行窗口的窗口信息的操作,以及根据第二应用程序的窗口信息和目标运行窗口的窗口信息,将第二运行窗口设置为目标运行窗口的子窗口的操作均可以参考相关技术,本技术实施例对此不再进行一一赘述。
[0111]
由上述可知,目标命令行参数中包括调用参数所包括的信息,因此,目标命令行参数中可能包括第二应用程序的命令行参数,目标应用程序对目标命令行参数进行解析后,也会得到该第二应用程序的命令行参数,在这样的情况下,电子设备在拉起第二应用程序的过程中,还可以解析第二应用程序的命令行参数,并将第二应用程序的命令行参数对应的窗口描绘信息显示在第二运行窗口中。
[0112]
在一些实施例中,由于第二运行窗口是通过目标运行窗口成为第一运行窗口的模态子窗口的,在第二运行窗口关闭后,为了达到第二应用程序结束运行,焦点和操作回到第一运行窗口的目的,电子设备在通过目标运行窗口基于目标命令行参数,拉起第二应用程序之后,还可以通过目标运行窗口检测第二应用程序的运行状态;在检测到第二应用程序退出运行的情况下,关闭目标运行窗口。
[0113]
由于第二运行窗口为目标运行窗口的子窗口,目标运行窗口为第一运行窗口的模态子窗口,在第二运行窗口关闭后,如果目标运行窗口不关闭,那么第一运行窗口还是无法获取焦点。因此,电子设备需要通过目标运行窗口检测第二应用程序的运行状态,在第二应用程序退出运行的情况下,说明第二运行窗口已关闭,在这样的情况下,为了使第一运行窗口获取焦点,电子设备可以关闭目标运行窗口。
[0114]
由上述可知,电子设备还可以通过第一应用程序拉起第二应用程序,在这样的情况下,电子设备在拉起第二应用程序的过程中,将第二应用程序的第二运行窗口设置为所述第一应用程序的模态子窗口的操作包括:在拉起第二应用程序的过程中,根据调用参数包括的第一应用程序的窗口信息,弹出第二运行窗口,该第二运行窗口为第一应用程序的模态子窗口。
[0115]
由于调用参数中包括第一应用程序的窗口信息,且第一应用程序的窗口信息可以为第一运行窗口的窗口句柄,因此,电子设备可以将第一应用程序的窗口句柄作为第二应用程序的窗口句柄,并根据该窗口句柄绘制第二运行窗口,以使该第二运行窗口为第一运行窗口的模态子窗口。
[0116]
由上述可知,该调用参数还可能会包括第二应用程序的命令行参数,因此,电子设备根据第一运行窗口的窗口句柄绘制第二运行窗口的过程中,还可以解析第二应用程序的命令行参数,并将第二应用程序的命令行参数对应的窗口描绘信息显示在第二运行窗口中。
[0117]
在本技术实施例中,电子设备在第一应用程序的第一运行窗口中需要调用第二应用程序的情况下,可以通过第一应用程序拉起第二应用程序,并在拉起第二应用程序的过程中,通过第一运行窗口的窗口句柄将第二运行窗口设置为第一运行窗口的模态子窗口,或者,通过目标运行程序的目标运行窗口拉起第二应用程序,从而将第二运行窗口通过目标运行窗口设置为第一运行窗口的模态子窗口。如此,可以在不进行置顶、置底、隐藏、禁用等操作的情况下,实现第二应用程序不结束,第一应用程序无法继续的效果,避免了第二运行窗口与第一运行窗口来回切换,同时保证了焦点的准确性和有效性。另外,由于目标应用程序可以用于拉起任意一个需要调用的应用程序,如此,在电子设备中存在多个应用程序需要进行程序调用的情况下,无需在每个应用程序中编写调用程序,从而在电子设备中任一个应用程序需要进行程序调用的情况下,都可以通过目标应用程序进行程序调用,保证了程序调用方式的通用性和兼容性。
[0118]
应理解,上述实施例中各步骤的序号并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0119]
图2是根据一示例性实施例示出的一种程序的调用装置的结构示意图,该程序的调用装置可以由软件、硬件或者两者的结合实现。该程序的调用装置可以包括:获取模块201、拉起模块202和设置模块203。
[0120]
获取模块201,用于在运行第一应用程序的过程中,若在所述第一应用程序的第一运行窗口中接收到对第二应用程序的调用指令,则获取调用参数,所述调用参数为调用所述第二应用程序所使用的参数;
[0121]
拉起模块202,用于基于所述调用参数,拉起所述第二应用程序;
[0122]
设置模块203,用于在拉起所述第二应用程序的过程中,将所述第二应用程序的第二运行窗口设置为所述第一应用程序的模态子窗口。
[0123]
作为本技术的一个示例,参见图3,所述拉起模块202包括:
[0124]
记录子模块2021,用于将所述调用参数按照指定形式进行记录,得到目标应用程序的目标命令行参数,所述目标应用程序用于拉起任意一个需要调用的应用程序;
[0125]
弹出子模块2022,用于基于所述目标命令行参数,弹出所述目标应用程序的目标运行窗口,所述目标运行窗口为所述第一应用程序的模态子窗口;
[0126]
第一拉起子模块2023,用于通过所述目标运行窗口基于所述目标命令行参数,拉起所述第二应用程序;
[0127]
所述设置模块203用于:
[0128]
在拉起所述第二应用程序的过程中,将所述第二运行窗口设置为所述目标运行窗
口的子窗口。
[0129]
作为本技术的一个示例,所述弹出子模块2022用于:
[0130]
通过所述目标应用程序对所述目标命令行参数进行解析,得到所述第一应用程序的窗口信息;
[0131]
根据所述第一应用程序的窗口信息,弹出所述目标运行窗口。
[0132]
作为本技术的一个示例,所述设置模块203用于:
[0133]
在拉起所述第二应用程序的过程中,通过所述目标运行窗口获取所述第二应用程序的窗口信息;
[0134]
根据所述第二应用程序的窗口信息和所述目标运行窗口的窗口信息,将所述第二运行窗口设置为所述目标运行窗口的子窗口。
[0135]
作为本技术的一个示例,所述拉起模块202还包括:
[0136]
设置子模块,用于将所述目标运行窗口设置为隐藏状态。
[0137]
作为本技术的一个示例,所述拉起模块202还包括:
[0138]
检测子模块,用于通过所述目标运行窗口检测所述第二应用程序的运行状态;
[0139]
关闭子模块,用于在检测到所述第二应用程序退出运行的情况下,关闭所述目标运行窗口。
[0140]
作为本技术的一个示例,所述拉起模块202包括:
[0141]
第二拉起子模块,用于通过所述第一运行窗口基于所述调用参数,拉起所述第二应用程序;
[0142]
所述设置模块203用于:
[0143]
在拉起所述第二应用程序的过程中,根据所述调用参数包括的所述第一应用程序的窗口信息,弹出所述第二运行窗口,所述第二运行窗口为所述第一应用程序的模态子窗口。
[0144]
在本技术实施例中,电子设备在第一应用程序的第一运行窗口中需要调用第二应用程序的情况下,可以通过第一应用程序拉起第二应用程序,并在拉起第二应用程序的过程中,通过第一运行窗口的窗口句柄将第二运行窗口设置为第一运行窗口的模态子窗口,或者,通过目标运行程序的目标运行窗口拉起第二应用程序,从而将第二运行窗口通过目标运行窗口设置为第一运行窗口的模态子窗口。如此,可以在不进行置顶、置底、隐藏、禁用等操作的情况下,实现第二应用程序不结束,第一应用程序无法继续的效果,避免了第二运行窗口与第一运行窗口来回切换,同时保证了焦点的准确性和有效性。另外,由于目标应用程序可以用于拉起任意一个需要调用的应用程序,如此,在电子设备中存在多个应用程序需要进行程序调用的情况下,无需在每个应用程序中编写调用程序,从而在电子设备中任一个应用程序需要进行程序调用的情况下,都可以通过目标应用程序进行程序调用,保证了程序调用方式的通用性和兼容性。
[0145]
图4为本技术一实施例提供的电子设备的结构示意图。如图4所示,该实施例的电子设备4包括:至少一个处理器40(图4中仅示出一个)、存储器41以及存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42,所述处理器40执行所述计算机程序42时实现上述任意各个方法实施例中的步骤。
[0146]
所述电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设
备。该电子设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是电子设备4的举例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0147]
所称处理器40可以是cpu(central processing unit,中央处理单元),该处理器40还可以是其他通用处理器、dsp(digital signal processor,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现成可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0148]
所述存储器41在一些实施例中可以是所述电子设备4的内部存储单元,例如电子设备4的硬盘或内存。所述存储器41在另一些实施例中也可以是所述电子设备4的外部存储设备,例如所述电子设备4上配备的插接式硬盘,smc(smart media card,智能存储卡),sd(secure digital,安全数字)卡,闪存卡(flash card)等。进一步地,所述存储器41还可以既包括所述电子设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
[0149]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0150]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0151]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献