CN117539582A - 多进程界面融合方法及装置 - Google Patents
多进程界面融合方法及装置 Download PDFInfo
- Publication number
- CN117539582A CN117539582A CN202410036144.6A CN202410036144A CN117539582A CN 117539582 A CN117539582 A CN 117539582A CN 202410036144 A CN202410036144 A CN 202410036144A CN 117539582 A CN117539582 A CN 117539582A
- Authority
- CN
- China
- Prior art keywords
- interfaces
- sub
- interface
- main container
- subprocess
- 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 275
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 114
- 230000004927 fusion Effects 0.000 claims abstract description 17
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000011022 operating instruction Methods 0.000 claims 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 27
- 238000004891 communication Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/451—Execution arrangements for user interfaces
-
- 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/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Abstract
本申请公开了一种多进程界面融合方法及装置。其中,该方法包括:启动多个子进程,并创建多个子进程对应的多个子进程界面;获取多个子进程界面的窗口句柄;根据多个子进程界面的窗口句柄将多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成多个子进程界面的融合。本申请至少解决了相关技术中多个客户端界面不能统一管理,造成操作复杂的技术问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种多进程界面融合方法及装置。
背景技术
在原生桌面应用开发中,大部分都是单进程架构,当需要进程多个客户端同时运行的时候,就只能启动两个进程,而两个进程的界面不能统一管理,给用户带来操作上的不便。
发明内容
本申请实施例提供了一种多进程界面融合方法及装置,以至少解决相关技术中多个客户端界面不能统一管理,造成操作复杂的技术问题。
根据本申请实施例的一个方面,提供了一种多进程界面融合方法,包括:启动多个子进程,并创建所述多个子进程对应的多个子进程界面;获取所述多个子进程界面的窗口句柄;根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合。
可选地,根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,包括:依次通过所述多个子进程将所述多个子进程界面设置为无边框状态,并响应于修改指令,将所述多个子进程界面的显示状态修改为隐藏;依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程;通过所述预设主容器进程采用所述多个子进程界面对应的窗口句柄获取所述多个子进程界面,并将所述多个子进程界面嵌入到所述主容器界面中。
可选地,在将所述多个子进程界面嵌入到所述主容器界面中之后,所述方法还包括:通过所述预设主容器进程向所述多个子进程发送指示信息,所述指示信息用于指示所述多个子进程更新所述多个子进程的界面信息;在所述多个子进程完成所述多个子进程的界面信息更新之后,接收操作指令,并响应于所述操作指令,对所述主容器界面中的多个子进程界面进行操作。
可选地,根据所述操作指令对所述主容器界面中的多个子进程界面进行操作,包括:通过目标子进程接收所述操作指令,所述目标子进程为所述主容器界面中当前显示的子进程界面对应的子进程;通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令。
可选地,通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令,包括:在所述操作指令为切换界面指令的情况下,所述预设主容器进程将所述当前显示的子进程界面隐藏,并显示所述切换界面指令指示的目标子界面;在所述操作指令为移动指令的情况下,所述预设主容器进程移动所述主容器界面,所述移动指令用于指示移动所述当前显示的子进程界面;在所述操作指令为终止指令的情况下,所述预设主容器进程向所述目标子进程传输所述终止指令,所述终止指令用于指示所述目标子进程终止。
可选地,依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程,包括:依次通过所述多个子进程将所述多个子进程界面的窗口句柄写入多个共享内存块中,并在所述多个子进程将所述多个子进程界面的窗口句柄写入完成后,向内核对象发送信号量,所述信号量用于指示所述内核对象通知所述预设主容器进程读取所述多个共享内存块中的所述多个子进程界面的窗口句柄,其中,所述多个共享内存块首尾依次连接形成循环链表。
可选地,所述方法还包括:在所述多个子进程写入到所述多个共享内存块中的数据量大于预设容量阈值的情况下,采用所述多个共享内存块共同存储所述多个子进程写入的数据;在所述多个子进程写入到所述多个共享内存块中数据的写入速率大于预设速率阈值的情况下,所述多个子进程向系统申请额外的内存块插入所述循环链表中。
根据本申请实施例的另一方面,还提供了一种多进程界面融合装置,包括:创建模块,用于启动多个子进程,并创建所述多个子进程对应的多个子进程界面;获取模块,用于获取所述多个子进程界面的窗口句柄;融合模块,用于根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合。
根据本申请实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述多进程界面融合方法。
根据本申请实施例的再一方面,还提供了一种计算机设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述多进程界面融合方法。
在本申请实施例中,采用启动多个子进程,并创建所述多个子进程对应的多个子进程界面;获取所述多个子进程界面的窗口句柄;根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合的方式,通过将多个子进程界面嵌入到预设主容器界面中,达到了通过主容器界面同时管理多个子进程界面的目的,实现了简化多个客户端界面同时管理的操作流程的技术效果,进而解决了相关技术中多个客户端界面不能统一管理,造成操作复杂的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于多进程界面融合方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请的一种多进程界面融合方法的流程示意图;
图3是根据本申请实施例的一种可选的不同进程之间进行通信的流程示意图;
图4是根据本申请实施例的另一种可选的不同进程之间进行通信的流程示意图;
图5是根据本申请实施例的一种可选的多进程界面融合装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的多进程界面融合方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现多进程界面融合方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及通过有线和/或无线网络连接的用于通信功能的传输装置106。除此以外,还可以包括:显示器、键盘、光标控制设备、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口)、网络接口、BUS总线。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的多进程界面融合方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的多进程界面融合方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种多进程界面融合方法,如图2所示,该方法包括如下步骤:
步骤S202,启动多个子进程,并创建多个子进程对应的多个子进程界面;
步骤S204,获取多个子进程界面的窗口句柄;
步骤S206,根据多个子进程界面的窗口句柄将多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成多个子进程界面的融合。
通过上述步骤,可以实现采用启动多个子进程,并创建所述多个子进程对应的多个子进程界面;获取所述多个子进程界面的窗口句柄;根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合的方式,通过将多个子进程界面嵌入到预设主容器界面中,达到了通过主容器界面同时管理多个子进程界面的目的,实现了简化多个客户端界面同时管理的操作流程的技术效果,进而解决了相关技术中多个客户端界面不能统一管理,造成操作复杂的技术问题。
需要进行说明的是,窗口句柄是操作系统中用来标识窗口的唯一标识符。每个窗口都有一个唯一的窗口句柄,可以使用它来操作或控制窗口,例如改变窗口大小、移动窗口、关闭窗口等,例如:子进程界面窗口就可以通过窗口句柄进行调整。
下面通过具体的实施例说明步骤S202至步骤S206。
根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中的具体步骤如下:依次通过所述多个子进程将所述多个子进程界面设置为无边框状态,并响应于修改指令,将所述多个子进程界面的显示状态修改为隐藏;依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程;通过所述预设主容器进程采用所述多个子进程界面对应的窗口句柄获取所述多个子进程界面,并将所述多个子进程界面嵌入到所述主容器界面中。
在实际的应用场景中,以多个子进程为两个客户端进程:客户端进程1和客户端进程2为例,启动客户端进程1、客户端进程2和预设主容器进程,并建立客户端进程1和主容器进程的通讯,以及客户端进程2和主容器进程的通信,当客户端进程1的界面创建的时候,要把它设置成无边框状态并将客户端进程1的界面隐藏,然后获取客户端进程1的界面对应的窗口句柄,通过进程间通信,把窗口句柄传给主容器进程,主容器进程拿到窗口句柄后,通过窗口句柄获取客户端进程1的界面,再把客户端进程1的界面嵌入到主容器进程主界面中,从而实现客户端进程1在主容器进程显示的功能。
在客户端进程1(或其他子进程)触发需要客户端进程2启动的时候,客户端进程1会通过进程间通信通知主容器进程,主容器进程会启动客户端进程2作为预设主容器进程的子进程。当客户端进程2的界面启动完成,把客户端进程2的界面也嵌入到主容器进程,若要再融合第三、第四个子进程的过程与客户端进程1和客户端进程2的流程类似,在此不再赘述。
当客户端进程1或客户端进程2主界面嵌入成功时,主容器进程会通过进程间通信,通知所有进程,更新所有子进程的界面信息。
在将所述多个子进程界面嵌入到所述主容器界面中之后,通过所述预设主容器进程向所述多个子进程发送指示信息,所述指示信息用于指示所述多个子进程更新所述多个子进程的界面信息;在所述多个子进程完成所述多个子进程的界面信息更新之后,接收操作指令,并响应于所述操作指令,对所述主容器界面中的多个子进程界面进行操作。
在本申请的一些实施例中,在将多个子进程界面嵌入到预设主容器界面中以后,可以根据操作指令对所述主容器界面中的多个子进程界面进行操作,具体的操作过程如下:通过目标子进程接收所述操作指令,所述目标子进程为所述主容器界面中当前显示的子进程界面对应的子进程;通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令。
通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令,在所述操作指令为切换界面指令的情况下,所述预设主容器进程将所述当前显示的子进程界面隐藏,并显示所述切换界面指令指示的目标子界面;在所述操作指令为移动指令的情况下,所述预设主容器进程移动所述主容器界面,所述移动指令用于指示移动所述当前显示的子进程界面;在所述操作指令为终止指令的情况下,所述预设主容器进程向所述目标子进程传输所述终止指令,所述终止指令用于指示所述目标子进程终止。
具体地,当需要切换子进程界面时,当前显示的子进程界面(例如客户端进程1)会通知预设主容器进程进行切换,主容器进程将切换指令中指示要显示的进程的界面显示出来,例如:客户端进程2的界面,并隐藏其他的进程的主界面。当想要拖动客户端进程1(或者客户端进程2)的标题栏,让其移动的时候,会把客户端进程1的标题栏鼠标按下事件/鼠标移动事件,通过进程间通信,传送给主容器进程,主容器进程收到消息后,会做出移动整个容器界面的动作 ,从而实现容器进程的拖动。当需要停止客户端进程1的时候,首先子进程会通过进程间通信通知主容器进程让其停止客户端进程1,主容器进程收到消息后,会清理相关资源,然后通过进程间通信通知客户端进程1终止,客户端进程1收到终止消息后,会自行退出进程。
依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程的过程如下:依次通过所述多个子进程将所述多个子进程界面的窗口句柄写入多个共享内存块中,并在所述多个子进程将所述多个子进程界面的窗口句柄写入完成后,向内核对象发送信号量,所述信号量用于指示所述内核对象通知所述预设主容器进程读取所述多个共享内存块中的所述多个子进程界面的窗口句柄,其中,所述多个共享内存块首尾依次连接形成循环链表。
其中,在所述多个子进程写入到所述多个共享内存块中的数据量大于预设容量阈值的情况下,采用所述多个共享内存块共同存储所述多个子进程写入的数据;在所述多个子进程写入到所述多个共享内存块中数据的写入速率大于预设速率阈值的情况下,所述多个子进程向系统申请额外的内存块插入所述循环链表中。
可选的,客户端进程1为例,在客户端进程1向预设主容器进程进行通信将数据互相传输时,可以预先创建多个共享内存块,例如:4个,如图3所示,使其形成循环链表状态,读写进程此时都指向1号内存。
当客户端进程1在1号内存中将数据写入完毕后,向内核对象发送信号量,由内核对象通知主容器进程,主容器进程会读取1号内存数据并处理,进程间的通信可选择多线程处理/单线程处理/UI线程处理三种模式。
在1号进程写入的数据量大于预设容量阈值的情况下,会同时使用多个内存块存储1号进程写入的数据,主容器进程读取的时候,根据数据里面的标志位(flag)来判断是否要连续读取多个内存块中的数据并将读取到的数据合并。
在1号进程将数据写入到内存块的速率大于预设速率阈值的情况下,会触发内存块不足的处理机制,1号进程会向系统申请一个内存块,如图4中的内存块5,插入到循环链表中。
若要实现主容器写入,进程1读取的过程,只需要再创建一个整体内存链表,就可以实现,具体实现方式与1号进程写入由主容器进程读取类似,在此不再赘述。
本申请实施例提供了一种多进程界面融合装置,如图5所示,包括:
创建模块50,用于启动多个子进程,并创建所述多个子进程对应的多个子进程界面;
获取模块52,用于获取所述多个子进程界面的窗口句柄;
融合模块54,用于根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合。
融合模块54中包括:嵌入子模块,用于依次通过所述多个子进程将所述多个子进程界面设置为无边框状态,并响应于修改指令,将所述多个子进程界面的显示状态修改为隐藏;依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程;通过所述预设主容器进程采用所述多个子进程界面对应的窗口句柄获取所述多个子进程界面,并将所述多个子进程界面嵌入到所述主容器界面中。
嵌入子模块中包括:接收单元,用于通过所述预设主容器进程向所述多个子进程发送指示信息,所述指示信息用于指示所述多个子进程更新所述多个子进程的界面信息;在所述多个子进程完成所述多个子进程的界面信息更新之后,接收操作指令,并响应于所述操作指令,对所述主容器界面中的多个子进程界面进行操作。
接收单元中包括:操作子单元和执行子单元,操作子单元,用于通过目标子进程接收所述操作指令,所述目标子进程为所述主容器界面中当前显示的子进程界面对应的子进程;通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令。
执行子单元,用于在所述操作指令为切换界面指令的情况下,所述预设主容器进程将所述当前显示的子进程界面隐藏,并显示所述切换界面指令指示的目标子界面;在所述操作指令为移动指令的情况下,所述预设主容器进程移动所述主容器界面,所述移动指令用于指示移动所述当前显示的子进程界面;在所述操作指令为终止指令的情况下,所述预设主容器进程向所述目标子进程传输所述终止指令,所述终止指令用于指示所述目标子进程终止。
嵌入子模块中还包括:通信单元,用于依次通过所述多个子进程将所述多个子进程界面的窗口句柄写入多个共享内存块中,并在所述多个子进程将所述多个子进程界面的窗口句柄写入完成后,向内核对象发送信号量,所述信号量用于指示所述内核对象通知所述预设主容器进程读取所述多个共享内存块中的所述多个子进程界面的窗口句柄,其中,所述多个共享内存块首尾依次连接形成循环链表。
通信单元中包括:读写子单元,用于在所述多个子进程写入到所述多个共享内存块中的数据量大于预设容量阈值的情况下,采用所述多个共享内存块共同存储所述多个子进程写入的数据;在所述多个子进程写入到所述多个共享内存块中数据的写入速率大于预设速率阈值的情况下,所述多个子进程向系统申请额外的内存块插入所述循环链表中。
根据本申请实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述多进程界面融合方法。
根据本申请实施例的再一方面,还提供了一种计算机设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述的多进程界面融合方法。
需要说明的是,上述接口交互装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种多进程界面融合方法,其特征在于,包括:
启动多个子进程,并创建所述多个子进程对应的多个子进程界面;
获取所述多个子进程界面的窗口句柄;
根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合。
2.根据权利要求1所述的方法,其特征在于,根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,包括:
依次通过所述多个子进程将所述多个子进程界面设置为无边框状态,并响应于修改指令,将所述多个子进程界面的显示状态修改为隐藏;
依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程;
通过所述预设主容器进程采用所述多个子进程界面对应的窗口句柄获取所述多个子进程界面,并将所述多个子进程界面嵌入到所述主容器界面中。
3.根据权利要求2所述的方法,其特征在于,在将所述多个子进程界面嵌入到所述主容器界面中之后,所述方法还包括:
通过所述预设主容器进程向所述多个子进程发送指示信息,所述指示信息用于指示所述多个子进程更新所述多个子进程的界面信息;
在所述多个子进程完成所述多个子进程的界面信息更新之后,接收操作指令,并响应于所述操作指令,对所述主容器界面中的多个子进程界面进行操作。
4.根据权利要求3所述的方法,其特征在于,根据所述操作指令对所述主容器界面中的多个子进程界面进行操作,包括:
通过目标子进程接收所述操作指令,所述目标子进程为所述主容器界面中当前显示的子进程界面对应的子进程;
通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令。
5.根据权利要求4所述的方法,其特征在于,通过所述目标子进程将所述操作指令传输到所述预设主容器进程,并由所述预设主容器进程执行所述操作指令,包括:
在所述操作指令为切换界面指令的情况下,所述预设主容器进程将所述当前显示的子进程界面隐藏,并显示所述切换界面指令指示的目标子界面;
在所述操作指令为移动指令的情况下,所述预设主容器进程移动所述主容器界面,所述移动指令用于指示移动所述当前显示的子进程界面;
在所述操作指令为终止指令的情况下,所述预设主容器进程向所述目标子进程传输所述终止指令,所述终止指令用于指示所述目标子进程终止。
6.根据权利要求2所述的方法,其特征在于,依次通过所述多个子进程将所述多个子进程界面的窗口句柄发送给所述预设主容器进程,包括:
依次通过所述多个子进程将所述多个子进程界面的窗口句柄写入多个共享内存块中,并在所述多个子进程将所述多个子进程界面的窗口句柄写入完成后,向内核对象发送信号量,所述信号量用于指示所述内核对象通知所述预设主容器进程读取所述多个共享内存块中的所述多个子进程界面的窗口句柄,其中,所述多个共享内存块首尾依次连接形成循环链表。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述多个子进程写入到所述多个共享内存块中的数据量大于预设容量阈值的情况下,采用所述多个共享内存块共同存储所述多个子进程写入的数据;
在所述多个子进程写入到所述多个共享内存块中数据的写入速率大于预设速率阈值的情况下,所述多个子进程向系统申请额外的内存块插入所述循环链表中。
8.一种多进程界面融合装置,其特征在于,包括:
创建模块,用于启动多个子进程,并创建所述多个子进程对应的多个子进程界面;
获取模块,用于获取所述多个子进程界面的窗口句柄;
融合模块,用于根据所述多个子进程界面的窗口句柄将所述多个子进程界面嵌入到预设主容器进程对应的主容器界面中,完成所述多个子进程界面的融合。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的多进程界面融合方法。
10.一种计算机设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的多进程界面融合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410036144.6A CN117539582B (zh) | 2024-01-10 | 2024-01-10 | 多进程界面融合方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410036144.6A CN117539582B (zh) | 2024-01-10 | 2024-01-10 | 多进程界面融合方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117539582A true CN117539582A (zh) | 2024-02-09 |
CN117539582B CN117539582B (zh) | 2024-05-07 |
Family
ID=89786613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410036144.6A Active CN117539582B (zh) | 2024-01-10 | 2024-01-10 | 多进程界面融合方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117539582B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111696186A (zh) * | 2019-02-27 | 2020-09-22 | 杭州海康威视系统技术有限公司 | 界面渲染方法及装置 |
CN113448582A (zh) * | 2021-08-27 | 2021-09-28 | 统信软件技术有限公司 | 一种窗口显示方法、计算设备及存储介质 |
CN116166256A (zh) * | 2021-11-25 | 2023-05-26 | 华为技术有限公司 | 界面生成方法及电子设备 |
CN116820651A (zh) * | 2023-06-30 | 2023-09-29 | 杭州海康机器人股份有限公司 | 一种界面显示方法、装置、电子设备及存储介质 |
US11847305B1 (en) * | 2022-06-27 | 2023-12-19 | Beijing Xiaomi Mobile Software Co., Ltd. | Page display method, electronic device and storage medium |
-
2024
- 2024-01-10 CN CN202410036144.6A patent/CN117539582B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111696186A (zh) * | 2019-02-27 | 2020-09-22 | 杭州海康威视系统技术有限公司 | 界面渲染方法及装置 |
CN113448582A (zh) * | 2021-08-27 | 2021-09-28 | 统信软件技术有限公司 | 一种窗口显示方法、计算设备及存储介质 |
CN116166256A (zh) * | 2021-11-25 | 2023-05-26 | 华为技术有限公司 | 界面生成方法及电子设备 |
US11847305B1 (en) * | 2022-06-27 | 2023-12-19 | Beijing Xiaomi Mobile Software Co., Ltd. | Page display method, electronic device and storage medium |
CN116820651A (zh) * | 2023-06-30 | 2023-09-29 | 杭州海康机器人股份有限公司 | 一种界面显示方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117539582B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9723086B2 (en) | Providing static or dynamic data to a device in an event-driven manner | |
CN110750197B (zh) | 文件共享方法、装置、系统、相应设备及存储介质 | |
WO2017016117A1 (zh) | 一种播放系统的播放列表切换控制方法及装置 | |
WO2017101663A1 (zh) | 应用的引导方法及装置、终端 | |
CN112445579B (zh) | 零终端数据处理系统及其文件复制方法、装置 | |
CN111760267A (zh) | 游戏中的信息发送方法及装置、存储介质、电子设备 | |
CN113663325B (zh) | 虚拟场景中团队的创建方法、加入方法、装置及存储介质 | |
CN111506283A (zh) | 图像显示方法、装置及系统 | |
CN109101298B (zh) | Windows跨进程窗口管理方法、存储介质、电子设备及系统 | |
CN113407086B (zh) | 对象拖拽方法、设备和存储介质 | |
CN107728875A (zh) | 一种功能模式的切换方法、装置和智能终端 | |
CN106095417B (zh) | 一种前景应用程序界面刷新同步方法及系统 | |
CN117539582B (zh) | 多进程界面融合方法及装置 | |
CN104244036A (zh) | 显示设备和显示系统 | |
CN113709406B (zh) | 鸿蒙会议一体机的软件协同方法、系统和存储介质 | |
CN115237323A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN106790453B (zh) | 一种操作请求的执行方法及装置 | |
CN111459484B (zh) | 网页前后端分离开发时后端数据模拟方法 | |
CN108388428A (zh) | 切换应用软件图标的方法、装置、电子设备及存储介质 | |
CN112799656A (zh) | 自动化操作的脚本文件配置方法、装置、设备和存储介质 | |
CN112752154A (zh) | 软件升级方法及装置、智能电视 | |
CN110908934A (zh) | 物理网平台模组、物理网平台设备及控制指令处理系统 | |
CN116627397B (zh) | 一种程序开发方法及相关装置 | |
CN111737372A (zh) | 地图数据生成方法和装置 | |
CN113542892B (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 |