一种应用程序的启动方法及装置转让专利

申请号 : CN201811647580.8

文献号 : CN109669738B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王志刚喻波王志海彭洪涛

申请人 : 北京明朝万达科技股份有限公司

摘要 :

本申请提供了一种应用程序的启动方法及装置。在本申请中,当需要在终端中的第一虚拟桌面上启动目标应用程序时,可以拦截目标应用程序对启动事件的访问操作;然后获取虚拟启动事件,虚拟启动事件用于指示当前在终端中未启动目标应用程序;再将目标应用程序对启动事件的访问操作定向至虚拟启动事件,以使目标应用程序访问虚拟启动事件;当目标应用程序根据虚拟启动事件确定出当前在终端中未启动目标应用程序时,在第一虚拟桌面上启动目标应用程序。本申请无需用户在第二虚拟桌面上关闭目标应用程序就可以使得终端在第一虚拟桌面上启动目标应用程序,从而可以简化用户操作,提高用户体验。

权利要求 :

1.一种应用程序的启动方法,其特征在于,所述方法包括:当需要在终端中的第一虚拟桌面上启动目标应用程序时,拦截所述目标应用程序对启动事件的访问操作;

获取虚拟启动事件,虚拟启动事件用于指示当前在所述终端中未启动所述目标应用程序;

将所述目标应用程序对启动事件的访问操作定向至所述虚拟启动事件,以使所述目标应用程序访问所述虚拟启动事件;

当所述目标应用程序根据所述虚拟启动事件确定出当前在所述终端中未启动所述目标应用程序时,在所述第一虚拟桌面上启动所述目标应用程序。

2.根据权利要求1所述的方法,其特征在于,所述拦截所述目标应用程序对启动事件的访问操作,包括:使用钩子HOOK函数拦截所述目标应用程序对启动事件的访问操作。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述终端上创建所述第一虚拟桌面。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当需要在终端中的第一虚拟桌面上启动目标应用程序时,检测在所述终端中的第二虚拟桌面上是否已启动所述目标应用程序;

如果在所述第二虚拟桌面上已启动所述目标应用程序,则执行所述拦截所述目标应用程序对启动事件的访问操作的步骤。

5.根据权利要求1所述的方法,其特征在于,所述在所述第一虚拟桌面上启动所述应用程序之后,还包括:删除所述虚拟启动事件。

6.根据权利要求1所述的方法,其特征在于,所述在所述第一虚拟桌面上启动所述应用程序之后,还包括:存储所述虚拟启动事件。

7.一种应用程序的启动装置,其特征在于,所述装置包括:拦截模块,用于当需要在终端中的第一虚拟桌面上启动目标应用程序时,拦截所述目标应用程序对启动事件的访问操作;

获取模块,用于获取虚拟启动事件,虚拟启动事件用于指示当前在所述终端中未启动所述目标应用程序;

定向模块,用于将所述目标应用程序对启动事件的访问操作定向至所述虚拟启动事件,以使所述目标应用程序访问所述虚拟启动事件;

启动模块,用于当所述目标应用程序根据所述虚拟启动事件确定出当前在所述终端中未启动所述目标应用程序时,在所述第一虚拟桌面上启动所述目标应用程序。

8.根据权利要求7所述的装置,其特征在于,所述拦截模块具体用于:使用钩子HOOK函数拦截所述目标应用程序对启动事件的访问操作。

9.一种电子设备,其特征在于,所述电子设备包括:处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行如权利要求1-6任一项所述的应用程序的启动方法。

10.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-6任一项所述的应用程序的启动方法。

说明书 :

一种应用程序的启动方法及装置

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种应用程序的启动方法及装置。

背景技术

[0002] 随着技术的飞速发展,多桌面技术已经越来越成熟,多桌面技术为在一个终端中开启多个不同的虚拟桌面,用户可以在不同的虚拟桌面中启动应用程序。
[0003] 然而,当在一个虚拟桌面上启动某一应用程序之后,就无法在另一虚拟桌面上启动该应用程序,导致用户无法在另一虚拟桌面上使用该应用程序,只能在该一个虚拟桌面上手动关闭该应用程序之后,才能在另一虚拟桌面上启动该应用程序,进而导致用户体验较低。

发明内容

[0004] 为解决上述技术问题,本申请示出了一种应用程序的启动方法及装置。
[0005] 第一方面,本申请示出了一种应用程序的启动方法,所述方法包括:
[0006] 当需要在终端中的第一虚拟桌面上启动目标应用程序时,拦截所述目标应用程序对启动事件的访问操作;
[0007] 获取虚拟启动事件,虚拟启动事件用于指示当前在所述终端中未启动所述目标应用程序;
[0008] 将所述目标应用程序对启动事件的访问操作定向至所述虚拟启动事件,以使所述目标应用程序访问所述虚拟启动事件;
[0009] 当所述目标应用程序根据所述虚拟启动事件确定出当前在所述终端中未启动所述目标应用程序时,在所述第一虚拟桌面上启动所述目标应用程序。
[0010] 在一个可选的实现方式中,所述拦截所述目标应用程序对启动事件的访问操作,包括:
[0011] 使用钩子HOOK函数拦截所述目标应用程序对启动事件的访问操作。
[0012] 在一个可选的实现方式中,所述方法还包括:
[0013] 在所述终端上创建所述第一虚拟桌面。
[0014] 在一个可选的实现方式中,所述方法还包括:
[0015] 当需要在终端中的第一虚拟桌面上启动目标应用程序时,检测在所述终端中的第二虚拟桌面上是否已启动所述目标应用程序;
[0016] 如果在所述第二虚拟桌面上已启动所述目标应用程序,则执行所述拦截所述目标应用程序对启动事件的访问操作的步骤。
[0017] 在一个可选的实现方式中,所述在所述第一虚拟桌面上启动所述应用程序之后,还包括:
[0018] 删除所述虚拟启动事件。
[0019] 在一个可选的实现方式中,所述在所述第一虚拟桌面上启动所述应用程序之后,还包括:
[0020] 存储所述虚拟启动事件。
[0021] 第二方面,本申请示出了一种应用程序的启动装置,所述装置包括:
[0022] 拦截模块,用于当需要在终端中的第一虚拟桌面上启动目标应用程序时,拦截所述目标应用程序对启动事件的访问操作;
[0023] 获取模块,用于获取虚拟启动事件,虚拟启动事件用于指示当前在所述终端中未启动所述目标应用程序;
[0024] 定向模块,用于将所述目标应用程序对启动事件的访问操作定向至所述虚拟启动事件,以使所述目标应用程序访问所述虚拟启动事件;
[0025] 启动模块,用于当所述目标应用程序根据所述虚拟启动事件确定出当前在所述终端中未启动所述目标应用程序时,在所述第一虚拟桌面上启动所述目标应用程序。
[0026] 在一个可选的实现方式中,所述拦截模块具体用于:使用钩子HOOK函数拦截所述目标应用程序对启动事件的访问操作。
[0027] 在一个可选的实现方式中,所述装置还包括:
[0028] 创建模块,用于在所述终端上创建所述第一虚拟桌面。
[0029] 在一个可选的实现方式中,所述装置还包括:
[0030] 检测模块,用于当需要在终端中的第一虚拟桌面上启动目标应用程序时,检测在所述终端中的第二虚拟桌面上是否已启动所述目标应用程序;
[0031] 所述拦截模块还用于:如果在所述第二虚拟桌面上已启动所述目标应用程序,则拦截所述目标应用程序对启动事件的访问操作。
[0032] 在一个可选的实现方式中,所述装置还包括:
[0033] 删除模块,用于删除所述虚拟启动事件。
[0034] 在一个可选的实现方式中,所述装置还包括:
[0035] 存储模块,用于存储所述虚拟启动事件。
[0036] 根据本申请的第三方面,提供一种电子设备,所述电子设备包括:
[0037] 处理器;
[0038] 用于存储处理器可执行指令的存储器;
[0039] 其中,所述处理器被配置为执行如第一方面所述的应用程序的启动方法。
[0040] 根据本申请的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的应用程序的启动方法。
[0041] 根据本申请的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的应用程序的启动方法。
[0042] 与现有技术相比,本申请包括以下优点:
[0043] 在本申请中,当需要在终端中的第一虚拟桌面上启动目标应用程序时,可以拦截目标应用程序对启动事件的访问操作;然后获取虚拟启动事件,虚拟启动事件用于指示当前在终端中未启动目标应用程序;再将目标应用程序对启动事件的访问操作定向至虚拟启动事件,以使目标应用程序访问虚拟启动事件;当目标应用程序根据虚拟启动事件确定出当前在终端中未启动目标应用程序时,在第一虚拟桌面上启动目标应用程序。
[0044] 相比于现有技术,本申请无需用户在第二虚拟桌面上关闭目标应用程序就可以使得终端在第一虚拟桌面上启动目标应用程序,从而可以简化用户操作,提高用户体验,其次可以在终端中的多个虚拟桌面上分别同时启动目标应用程序,以使用户可以在各个虚拟终端上分别操控目标应用程序,以提高用户体验。

附图说明

[0045] 图1是本申请的一种应用程序的启动方法的步骤流程图;
[0046] 图2是本申请的一种应用程序的启动装置的结构框图。

具体实施方式

[0047] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
[0048] 参照图1,示出了本申请的一种应用程序的启动方法的步骤流程图,具体可以包括如下步骤:
[0049] 在步骤S101中,当需要在终端中的第一虚拟桌面上启动目标应用程序时,拦截目标应用程序对启动事件的访问操作;
[0050] 在本申请中,当用户需要在终端上的第一虚拟桌面上启动目标应用程序时,则可以在终端上创建第一虚拟桌面,在终端中输入用于在终端上的第一虚拟桌面上启动目标应用程序的启动操作,例如,当在终端的第一虚拟桌面上显示目标应用程序的图标时,用户可以点击在终端的第一虚拟桌面上显示目标应用程序的图标,以实现在终端中输入该启动操作。当终端接收到该启动操作时,就可以确定需要在终端中的第一虚拟桌面上启动目标应用程序,
[0051] 在本申请中,此时终端上已开启了至少两个虚拟桌面,例如第一虚拟桌面和第二虚拟桌面,当然,还可以同时开启了其他虚拟桌面,本申请对此不做限定。
[0052] 在本申请中,在终端中的第二虚拟桌面上也可能启动目标应用程序。
[0053] 通常情况下,
[0054] 如果在终端中的第二虚拟桌面上未启动目标应用程序,目标应用程序在访问启动事件时就不会访问到用于指示当前在终端中已启动目标应用程序的访问事件,进而就会确定出当前在终端中未启动目标应用程序的访问事件,从而就可以在终端中的第一虚拟桌面上启动目标应用程序。
[0055] 如果在终端中的第二虚拟桌面上启动了目标应用程序,目标应用程序在访问启动事件时就会访问到用于指示当前在终端中已启动目标应用程序的访问事件,进而就会确定出当前在终端中已启动目标应用程序的访问事件,从而就无法在终端中的第一虚拟桌面上启动目标应用程序。
[0056] 为了能够在终端中的第一虚拟桌面上启动目标应用程序,则可以拦截目标应用程序对启动事件的访问操作,以使目标应用程序无法访问到访问事件,这样,即使存在用于指示当前在终端中已启动目标应用程序的访问事件,由于目标应用程序无法访问到访问事件,进而无法访问到用于指示当前在终端中已启动目标应用程序的访问事件,也就无法确定出当前在终端中已启动目标应用程序,然后执行步骤S102。
[0057] 在本申请中,可以使用HOOK(钩子)函数拦截目标应用程序对启动事件的访问操作。
[0058] 在本申请另一实施例中,当需要在终端中的第一虚拟桌面上启动目标应用程序时,也可以检测在终端中的第二虚拟桌面上是否已启动目标应用程序;如果在第二虚拟桌面上已启动目标应用程序,则再拦截目标应用程序对启动事件的访问操作,如果在第二虚拟桌面上未启动目标应用程序,则可以直接在第一虚拟桌面上启动目标应用程序,无需再拦截目标应用程序对启动事件的访问操作。
[0059] 在步骤S102中,获取虚拟启动事件,虚拟启动事件用于指示当前在终端中未启动目标应用程序;
[0060] 在本申请中,可以生成虚拟启动事件,也可以获取已存储的虚拟启动事件。
[0061] 在步骤S103中,将目标应用程序对启动事件的访问操作定向至虚拟启动事件,以使目标应用程序访问虚拟启动事件;
[0062] 由于虚拟启动事件用于指示当前在终端中未启动目标应用程序,则目标应用程序在访问虚拟启动事件之后,就会根据虚拟启动事件确定出当前在终端中未启动目标应用程序,进而可以在第一虚拟桌面上启动目标应用程序。
[0063] 在步骤S104中,当目标应用程序根据虚拟启动事件确定出当前在终端中未启动目标应用程序时,在第一虚拟桌面上启动目标应用程序。
[0064] 如此使得可以在终端中的第一虚拟桌面和第二虚拟桌面上同时启动目标应用程序。
[0065] 在本申请一个实施例中,在第一虚拟桌面上启动目标应用程序之后,可以删除虚拟启动事件,以达到节省存储空间的目的。之后当需要在终端中的其他桌面上再次启动目标应用程序时,重新获取虚拟启动事件以供目标应用程序访问。
[0066] 在本申请另一个实施例中,在第一虚拟桌面上启动目标应用程序之后,也可以存储虚拟启动事件,之后当需要在终端中的其他桌面上再次启动目标应用程序时,无需重新获取虚拟启动事件,可以继续使用虚拟启动事件,从而可以节省系统资源。
[0067] 其中,第二虚拟桌面为终端的虚拟桌面中的除第一虚拟桌面以外的其他虚拟桌面。
[0068] 进一步地,当接收到用于在第一虚拟桌面上关闭目标应用程序的关闭操作时,在第一虚拟桌面上关闭目标应用程序。
[0069] 在本申请中,当需要在终端中的第一虚拟桌面上启动目标应用程序时,可以拦截目标应用程序对启动事件的访问操作;然后获取虚拟启动事件,虚拟启动事件用于指示当前在终端中未启动目标应用程序;再将目标应用程序对启动事件的访问操作定向至虚拟启动事件,以使目标应用程序访问虚拟启动事件;当目标应用程序根据虚拟启动事件确定出当前在终端中未启动目标应用程序时,在第一虚拟桌面上启动目标应用程序。
[0070] 相比于现有技术,本申请无需用户在第二虚拟桌面上关闭目标应用程序就可以使得终端在第一虚拟桌面上启动目标应用程序,从而可以简化用户操作,提高用户体验,其次可以在终端中的多个虚拟桌面上分别同时启动目标应用程序,以使用户可以在各个虚拟终端上分别操控目标应用程序,以提高用户体验。
[0071] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
[0072] 参照图2,示出了本申请的一种应用程序的启动装置的结构框图,该装置具体可以包括如下模块:
[0073] 拦截模块11,用于当需要在终端中的第一虚拟桌面上启动目标应用程序时,拦截所述目标应用程序对启动事件的访问操作;
[0074] 获取模块12,用于获取虚拟启动事件,虚拟启动事件用于指示当前在所述终端中未启动所述目标应用程序;
[0075] 定向模块13,用于将所述目标应用程序对启动事件的访问操作定向至所述虚拟启动事件,以使所述目标应用程序访问所述虚拟启动事件;
[0076] 启动模块14,用于当所述目标应用程序根据所述虚拟启动事件确定出当前在所述终端中未启动所述目标应用程序时,在所述第一虚拟桌面上启动所述目标应用程序。
[0077] 在一个可选的实现方式中,所述拦截模块具11体用于:使用钩子HOOK函数拦截所述目标应用程序对启动事件的访问操作。
[0078] 在一个可选的实现方式中,所述装置还包括:
[0079] 创建模块,用于在所述终端上创建所述第一虚拟桌面。
[0080] 在一个可选的实现方式中,所述装置还包括:
[0081] 检测模块,用于当需要在终端中的第一虚拟桌面上启动目标应用程序时,检测在所述终端中的第二虚拟桌面上是否已启动所述目标应用程序;
[0082] 所述拦截模块还用于:如果在所述第二虚拟桌面上已启动所述目标应用程序,则拦截所述目标应用程序对启动事件的访问操作。
[0083] 在一个可选的实现方式中,所述装置还包括:
[0084] 删除模块,用于删除所述虚拟启动事件。
[0085] 在一个可选的实现方式中,所述装置还包括:
[0086] 存储模块,用于存储所述虚拟启动事件。
[0087] 在本申请中,当需要在终端中的第一虚拟桌面上启动目标应用程序时,可以拦截目标应用程序对启动事件的访问操作;然后获取虚拟启动事件,虚拟启动事件用于指示当前在终端中未启动目标应用程序;再将目标应用程序对启动事件的访问操作定向至虚拟启动事件,以使目标应用程序访问虚拟启动事件;当目标应用程序根据虚拟启动事件确定出当前在终端中未启动目标应用程序时,在第一虚拟桌面上启动目标应用程序。
[0088] 相比于现有技术,本申请无需用户在第二虚拟桌面上关闭目标应用程序就可以使得终端在第一虚拟桌面上启动目标应用程序,从而可以简化用户操作,提高用户体验,其次可以在终端中的多个虚拟桌面上分别同时启动目标应用程序,以使用户可以在各个虚拟终端上分别操控目标应用程序,以提高用户体验。
[0089] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0090] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0091] 本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0092] 本申请是参照根据本申请的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0093] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0094] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0095] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0096] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0097] 以上对本申请所提供的一种应用程序的启动方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。