CN113110895A - 基于ipc置顶单例应用程序的方法、终端及存储介质 - Google Patents
基于ipc置顶单例应用程序的方法、终端及存储介质 Download PDFInfo
- Publication number
- CN113110895A CN113110895A CN202110294403.1A CN202110294403A CN113110895A CN 113110895 A CN113110895 A CN 113110895A CN 202110294403 A CN202110294403 A CN 202110294403A CN 113110895 A CN113110895 A CN 113110895A
- Authority
- CN
- China
- Prior art keywords
- ipc
- application
- application program
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 129
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- 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/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明所提供的基于IPC置顶单例应用程序的方法、终端及存储介质,所述方法包括:向预设IPC服务器发送置顶指令;预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。通过向与预设进程对应的预设IPC服务器发送置顶指令,能够使得预设进程的程序界面置顶显示,从而便于用户获知预设进程的界面信息。
Description
技术领域
本发明涉及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服务器发送置顶指令,进而将第一进程对应的程序应用界面置顶显示。通过将第一进程对应的程序应用界面置顶显示,解决了应用程序最小化或隐藏到后台之后进程状态不能保存且再次显示的问题。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.基于IPC置顶单例应用程序的方法,其特征在于,包括:
向预设IPC服务器发送置顶指令;
预设IPC服务器接收所述置顶指令,将与预设IPC服务器对应的预设进程创建的程序界面置顶显示。
2.根据权利要求1所述的基于IPC置顶单例应用程序的方法,其特征在于,所述向预设IPC服务器发送置顶指令,之前包括:
判断是否第一次启动应用程序;
若是第一次启动应用程序,根据该应用程序对应的第一进程建立第一IPC服务器。
3.根据权利要求2所述的基于IPC置顶单例应用程序的方法,其特征在于,若是第一次启动应用程序,根据该应用程序对应的第一进程建立第一IPC服务器,之后包括:
定义与第一进程通讯的对象,且预留与第一进程进行通信的接口。
4.根据权利要求2所述的基于IPC置顶单例应用程序的方法,其特征在于,所述判断是否第一次启动应用程序之后还包括:
若不是第一次启动应用程序,根据该应用程序对应的第二进程建立第二IPC客户端,并连接第一IPC服务器;
第二IPC客户端向第一IPC服务器发送置顶指令;
第一IPC服务器接收所述置顶指令,将第一进程创建的程序界面置顶显示。
5.根据权利要求4所述的基于IPC置顶单例应用程序的方法,其特征在于,若不是第一次启动应用程序,根据该应用程序对应的第二进程建立第二IPC客户端,并连接第一IPC服务器,之后还包括:
判断是否能够成功连接到第一IPC服务器;
若连接成功,通过第二IPC客户端向第一IPC服务器发送置顶指令。
6.根据权利要求5所述的基于IPC置顶单例应用程序的方法,其特征在于,判断是否能够成功连接到第一IPC服务器,之后还包括:
若连接失败,发出提示消息。
7.根据权利要求6所述的基于IPC置顶单例应用程序的方法,其特征在于,若连接失败,发出提示消息,之后包括:
结束第二进程。
8.根据权利要求4所述的基于IPC置顶单例应用程序的方法,其特征在于,第一IPC服务器接收所述置顶指令,将第一进程置顶显示,同时包括:
结束第二进程。
9.一种终端,其特征在于,包括处理器,以及与所述处理器连接的存储器,所述存储器存储有基于IPC置顶单例应用程序的方法的程序,所述基于IPC置顶单例应用程序的方法的程序被所述处理器执行时,用于实现如权利要求1-8任一项所述的基于IPC置顶单例应用程序的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如权利要求1-8任一项所述的基于IPC置顶单例应用程序的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110294403.1A CN113110895B (zh) | 2021-03-19 | 2021-03-19 | 基于ipc置顶单例应用程序的方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110294403.1A CN113110895B (zh) | 2021-03-19 | 2021-03-19 | 基于ipc置顶单例应用程序的方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113110895A true CN113110895A (zh) | 2021-07-13 |
CN113110895B CN113110895B (zh) | 2024-07-09 |
Family
ID=76712067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110294403.1A Active CN113110895B (zh) | 2021-03-19 | 2021-03-19 | 基于ipc置顶单例应用程序的方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110895B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199734A (zh) * | 2014-09-12 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 一种基于安卓智能终端的应用程序多开管理方法和*** |
CN106227615A (zh) * | 2016-07-21 | 2016-12-14 | 福建天泉教育科技有限公司 | 程序启动过程中预防进程卡死的方法及*** |
CN106331071A (zh) * | 2016-08-16 | 2017-01-11 | 济南大学 | Android应用程序网络流量的远程采集***及方法 |
CN109240773A (zh) * | 2018-08-20 | 2019-01-18 | 武汉斗鱼网络科技有限公司 | 解决房间串数据的方法、装置、终端及可读存储介质 |
CN109725950A (zh) * | 2018-12-29 | 2019-05-07 | 武汉斗鱼网络科技有限公司 | 一种实现客户端单实例运行的方法、装置及存储介质 |
CN112416345A (zh) * | 2020-11-16 | 2021-02-26 | 中国电子科技集团公司第二十八研究所 | 一种通用客户端软件集成*** |
-
2021
- 2021-03-19 CN CN202110294403.1A patent/CN113110895B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199734A (zh) * | 2014-09-12 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 一种基于安卓智能终端的应用程序多开管理方法和*** |
CN106227615A (zh) * | 2016-07-21 | 2016-12-14 | 福建天泉教育科技有限公司 | 程序启动过程中预防进程卡死的方法及*** |
CN106331071A (zh) * | 2016-08-16 | 2017-01-11 | 济南大学 | Android应用程序网络流量的远程采集***及方法 |
CN109240773A (zh) * | 2018-08-20 | 2019-01-18 | 武汉斗鱼网络科技有限公司 | 解决房间串数据的方法、装置、终端及可读存储介质 |
CN109725950A (zh) * | 2018-12-29 | 2019-05-07 | 武汉斗鱼网络科技有限公司 | 一种实现客户端单实例运行的方法、装置及存储介质 |
CN112416345A (zh) * | 2020-11-16 | 2021-02-26 | 中国电子科技集团公司第二十八研究所 | 一种通用客户端软件集成*** |
Also Published As
Publication number | Publication date |
---|---|
CN113110895B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201574B (zh) | 一种应用界面的启动方法及装置 | |
US7900200B1 (en) | Persistence system for servlet-based applications on resource-constrained devices | |
CN111381981A (zh) | 小程序消息的推送方法、装置、设备及存储介质 | |
CN109271154B (zh) | 应用开发平台及其运行方法 | |
CN106027631B (zh) | 一种数据传输方法及装置 | |
CN106845208B (zh) | 异常应用控制方法、装置和终端设备 | |
CN110750284A (zh) | 一种应用快速启动方法、终端及计算机可读存储介质 | |
US10761863B2 (en) | Mobile application management by run-time insertion of a replacement instrumentation object into a mobile application process | |
CN113110895A (zh) | 基于ipc置顶单例应用程序的方法、终端及存储介质 | |
CN110704247B (zh) | 应用内存异常的处理方法、装置、电子设备及装置 | |
CN112416555B (zh) | 一种客户端重启方法及设备、装置、存储介质 | |
CN114816684A (zh) | 业务处理方法、装置、设备、可读存储介质及产品 | |
CN113867145A (zh) | 一种应用控制方法、装置、电子设备及存储介质 | |
US9317324B2 (en) | Automatic service lifecycle management | |
CN112379952A (zh) | 一种跨进程回调的实现方法 | |
CN117193874B (zh) | 插件处理方法、装置、存储介质及电子设备 | |
CN114785859B (zh) | 服务注册方法、装置、设备及存储介质 | |
CN113590341B (zh) | 服务组件调用方法、装置、计算机设备和存储介质 | |
CN107832122B (zh) | 一种***间通讯和事务控制方法及装置 | |
CN112769824B (zh) | 一种信息传输状态更新方法、终端、装置及存储介质 | |
CN118069223B (zh) | 一种车辆控制方法、装置、电子设备及存储介质 | |
CN115982489A (zh) | 页面渲染方法、装置、设备和计算机可读存储介质 | |
CN111258665A (zh) | 一种服务器启动方法、装置、服务器和介质 | |
CN113438227A (zh) | 重复请求的限流方法、装置、设备及存储介质 | |
CN115835147A (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 |