首页> 中国专利> 基于IPC置顶单例应用程序的方法、终端及存储介质

基于IPC置顶单例应用程序的方法、终端及存储介质

摘要

本发明所提供的基于IPC置顶单例应用程序的方法、终端及存储介质,所述方法包括:向预设IPC服务器发送置顶指令;预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。通过向与预设进程对应的预设IPC服务器发送置顶指令,能够使得预设进程的程序界面置顶显示,从而便于用户获知预设进程的界面信息。

著录项

  • 公开/公告号CN113110895A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 深圳震有科技股份有限公司;

    申请/专利号CN202110294403.1

  • 发明设计人 白肖;吴闽华;卫宣安;姜坤;

    申请日2021-03-19

  • 分类号G06F9/448(20180101);G06F9/451(20180101);

  • 代理机构44268 深圳市君胜知识产权代理事务所(普通合伙);

  • 代理人朱阳波

  • 地址 518057 广东省深圳市南山区粤海街道高新区社区科苑南路3176号彩讯科技大厦五层、六层

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明涉及IPC技术领域,尤其涉及的是基于IPC置顶单例应用程序的方法、终端及存储介质。

背景技术

单例模式在应用时,单例对象的类必须保证只有一个实例存在,从而节省了内存占用,加快对象访问速度,因而,单例应用程序在某些方面能够被广泛应用。比如,在实现资源共享、网络统计计数、Web应用的配置对象的读取、数据库连接池的设计、操作系统的文件系统、回收站启用等方面,常采用单例模式。

但当单例应用程序在运行之后,之后将该单例应用程序最小化或者隐藏到后台,若再次启动该单例应用程序时,该单例应用程序之前的运行状态并不会被保存,其之前启动的进程界面并不能够进行展示,以此造成了用户无法获知之前进程界面信息。

因此,现有技术存在缺陷,有待改进与发展。

发明内容

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供基于IPC置顶单例应用程序的方法、终端及存储介质,旨在解决现有技术中的单例应用程序再次启动无法显示之前进程界面的问题。

本发明解决技术问题所采用的技术方案如下:

基于IPC置顶单例应用程序的方法,其中,包括:

向预设IPC服务器发送置顶指令;

预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。

进一步地,所述向预设IPC服务器发送置顶指令,之前包括:

判断是否第一次启动应用程序;

若是第一次启动应用程序,根据该应用程序对应的第一进程建立第一IPC服务器。

进一步地,若是第一次启动应用程序,根据该应用程序对应的第一进程建立第一IPC服务器,之后包括:

定义与第一进程通讯的对象,且预留与第一进程进行通信的接口。

进一步地,所述判断是否第一次启动应用程序之后还包括:

若不是第一次启动应用程序,根据该应用程序对应的第二进程建立第二IPC客户端,并连接第一IPC服务器;

第二IPC客户端向第一IPC服务器发送置顶指令;

第一IPC服务器接收所述置顶指令,将第一进程创建的程序界面置顶显示。

进一步地,若不是第一次启动应用程序,根据该应用程序对应的第二进程建立第二IPC客户端,并连接第一IPC服务器,之后还包括:

判断是否能够成功连接到第一IPC服务器;

若连接成功,通过第二IPC客户端向第一IPC服务器发送置顶指令。

进一步地,判断是否能够成功连接到第一IPC服务器,之后还包括:

若连接失败,发出提示消息。

进一步地,若连接失败,发出提示消息,之后包括:

结束第二进程。

进一步地,第一IPC服务器接收所述置顶指令,将第一进程置顶显示,同时包括:

结束第二进程。

本发明还提供一种终端,其中,包括处理器,以及与所述处理器连接的存储器,所述存储器存储有基于IPC置顶单例应用程序的方法的程序,所述基于IPC置顶单例应用程序的方法的程序被所述处理器执行时,用于实现如上所述的基于IPC置顶单例应用程序的方法。

本发明还提供一种存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的基于IPC置顶单例应用程序的方法。

本发明所提供的基于IPC置顶单例应用程序的方法、终端及存储介质,所述方法包括:向预设IPC服务器发送置顶指令;预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。通过向与预设进程对应的预设IPC服务器发送置顶指令,能够使得预设进程的程序界面置顶显示,从而便于用户获知预设进程的界面信息。

附图说明

图1是本发明中基于IPC置顶单例应用程序的方法方法的较佳实施例的流程图。

图2是本发明中基于图1判断是否第一次启动应用程序的较佳实施例的流程图。

图3是本发明中基于图2当第一次启动应用程序的较佳实施例的流程图。

图4是本发明中基于图2当不是第一次启动应用程序的较佳实施例的流程图。

图5是本发明中基于图4判断是否连接成功的较佳实施例的流程图。

图6是本发明中终端的较佳实施例的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明通过在系统中预先定义全局的IPC(Inter-Process Communication,进程间通信)服务器通道,通过IPC服务器通道定义进程之间的通信对象,从而实现进程间通信,以使得通过进程通信交换数据,达到控制单例应用程序对应进程置顶显示的目的。在执行置顶显示单例应用程序进程时,具体执行如图1所示的基于IPC置顶单例应用程序的方法的流程图。如图1所示,本发明实施例所述的基于IPC置顶单例应用程序的方法包括以下步骤:

S10、向预设IPC服务器发送置顶指令。

S20、预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。

具体地,每一应用程序对应有一个IPC服务器和一个IPC客户端,且每一个应用程序只能运行一个进程,即任务管理器中仅有一个该单例应用程序的进程。用户通过IPC客户端向IPC服务器发送置顶指令,IPC服务器接收所述置顶指令,进而控制预设进程开启,继而该进程创建的程序界面置顶显示,即显示在应用程序界面最前端。

而在所述步骤S10之前,需要预先创建进程之间的通信,建立进程之间通信的方式为:

S1、定义全局的IPC服务器通道,并进行命名。

S2、定义进程之间通信的对象,其中,定义进程间通信对象时,允许在支持远程处理的应用程序中跨应用程序域边界访问对象。

S3、之后,声明Windows API ShowWindow(API为操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令)。其代码表述如下:

[DllImport("User32.dll",EntryPoint="ShowWindow")]

private static extern bool ShowWindow(IntPtr hWnd,int type)

在所述步骤S3之后,会通过启动应用程序而调用应用程序对应的进程,进而显示所调用进程创建的应用程序界面。而在启动应用程序时,会创建该应用程序的IPC服务器以及IPC客户端,其中,当第一次启动应用程序时,创建的是应用程序的IPC服务器,当不是第一次启动应用程序时,创建的是应用程序的IPC客户端,可参见图2。因而,在启动应用程序时,还需要判断是否是第一次启动应用程序,具体执行以下步骤:

S100、判断是否第一次启动应用程序。

S200、若是,根据该应用程序对应的第一进程建立第一IPC服务器。

具体地,当是第一次启动应用程序时,应用程序启动后对应的进程为第一进程,对第一进程进行相关命名,且根据第一进程创建该应用程序的第一IPC服务器。

而在创建第一IPC服务器之后,需要创建第一进程所对应的通讯对象,因而,如图3所示,在所述步骤S200之后包括:

S210、定义与第一进程通讯的对象,且预留与第一进程进行通信的接口。

S220、第一IPC服务器接收置顶指令,将与第一IPC服务器对应的第一进程创建的程序界面置顶显示。

具体地,定义第一进程的通讯对象,并对通讯对象注册名称,进而方便其他应用程序能够根据注册的第一进程的对象名称激活与第一进程间的通信。

若通过第一进程的对象名称激活与第一进程间的通信之后,即通过通信对象建立的与第一进程之间的通信连接,进而可传输数据。具体地,当用户通过IPC客户端发送置顶指令时,可直接通过激活第一进程的服务对象,进而将置顶指令传输给第一IPC服务器。而第一IPC服务器接收到置顶指令之后,调用预留的接口,即Windows API,从而调用第一进程,将第一进程对应的程序界面置顶显示。

若不是第一次启动应用程序,如图4所示,在所述步骤S100之后还包括:

S300、若否,根据该应用程序对应的第二进程建立第二IPC客户端,并连接第一IPC服务器。

S310、第二IPC客户端向第一IPC服务器发送置顶指令。

S320、第一IPC服务器接收所述置顶指令,将第一进程创建的程序界面置顶显示。

具体地,若不是第一次启动应用程序,则说明该应用程序已经存在创建好的第二IPC服务器,若要显示第一进程,则根据该应用程序对应的第二进程创建第二IPC客户端,然后用户通过操作第二IPC客户端可生成置顶指令,进而第一IPC服务器根据置顶指令调用Windows API,将第一进程对应的程序界面置顶显示。

由于同一应用程序只有一个进程,当打开第一进程时,则第二进程就会关闭,因而,在所述步骤S320、将第一进程创建的程序界面置顶显示的同时,还包括:结束第二进程。

而当用户通过第二IPC客户端向第一IPC服务器下发置顶指令时,第二IPC客户端需先与第一IPC服务器建立连接,进而才能够建立第一IPC服务器和第二IPC客户端之间的通讯连接,因而,如图5所示,在所述步骤S300、连接第一IPC服务器之后还包括:

S301、判断是否能够成功连接到第一IPC服务器。

S302、若连接成功,通过第二IPC客户端向第一IPC服务器发送置顶指令。具体地,若连接成功,则继续执行步骤S320。

S303、若连接失败,发出提示消息。

具体地,若连接失败,则将连接失败的信息通过第二IPC客户端反馈给用户,进而方便用户得知连接情况。

在连接失败之后,说明不能够通过第二IPC客户端连接第一IPC服务器,也即第二进程与第一进程之间无法建立通信,若要启动第一进程并将其创建的应用程序界面置顶,则需要关闭第二进程,因而,在所述步骤S303之后还包括:

S304、结束第二进程。

本发明还提供一种终端,如图6所示,其中,包括处理器30,以及与所述处理器连接的存储器40,所述存储器40存储有基于IPC置顶单例应用程序的方法的程序,所述基于IPC置顶单例应用程序的方法的程序被所述处理器30执行时,用于实现如上所述的基于IPC置顶单例应用程序的方法。

本发明还提供一种存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的基于IPC置顶单例应用程序的方法。

综上所述,本发明公开的基于IPC置顶单例应用程序的方法、终端及存储介质,所述方法包括:向预设IPC服务器发送置顶指令;预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。通过判断是否第一次启动应用程序,若为第一次启动,则根据该应用程序对应的第一进程创建对应的IPC服务器,当接收到IPC客户端的置顶指令时,建立IPC客户端与IPC服务器之间的通信连接,进而通过接收置顶指令,将第一进程对应的程序应用界面置顶显示;若不是第一次启动,则根据该应用程序对应的第二进程创建对应的第二IPC客户端,以连接第一进程对应的第一IPC服务器,当连接成功之后,可通过第二IPC客户端向第一IPC服务器发送置顶指令,进而将第一进程对应的程序应用界面置顶显示。通过将第一进程对应的程序应用界面置顶显示,解决了应用程序最小化或隐藏到后台之后进程状态不能保存且再次显示的问题。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号