CN109101298B - Windows跨进程窗口管理方法、存储介质、电子设备及系统 - Google Patents

Windows跨进程窗口管理方法、存储介质、电子设备及系统 Download PDF

Info

Publication number
CN109101298B
CN109101298B CN201710471541.6A CN201710471541A CN109101298B CN 109101298 B CN109101298 B CN 109101298B CN 201710471541 A CN201710471541 A CN 201710471541A CN 109101298 B CN109101298 B CN 109101298B
Authority
CN
China
Prior art keywords
target process
window
process window
container
target
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.)
Active
Application number
CN201710471541.6A
Other languages
English (en)
Other versions
CN109101298A (zh
Inventor
田东辉
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yami Technology Guangzhou Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710471541.6A priority Critical patent/CN109101298B/zh
Publication of CN109101298A publication Critical patent/CN109101298A/zh
Application granted granted Critical
Publication of CN109101298B publication Critical patent/CN109101298B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种Windows跨进程窗口管理方法、存储介质、电子设备及系统,涉及Windows操作系统的跨进程窗口管理领域。该方法的步骤为:获取需要管理的目标进程的PID,根据目标进程的PID,确定目标进程窗口;创建目标进程窗口容器,将目标进程窗口嵌入至目标进程窗口容器,设置目标进程窗口容器为父窗口,目标进程窗口为父窗口的子窗口;将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;当目标进程窗口容器的尺寸属性、位置属性和显示隐藏属性发生变化时,同步修改目标进程窗口对应的属性。本发明管理跨进程的窗口时,显著简化了操作过程,便于人们使用,大幅度提升了用户体验。

Description

Windows跨进程窗口管理方法、存储介质、电子设备及系统
技术领域
本发明涉及Windows操作系统的跨进程窗口管理领域,具体涉及一种Windows跨进程窗口管理方法、存储介质、电子设备及系统。
背景技术
Windows桌面程序在开发时,一般会把独立重用性较好的模块(影视播放模块,网络测速模块,缓冲加速模块等)分离为单独的子进程,以减小各个模块的功能耦合,降低单个模块异常对整个程序的影响。但是,运行较多拥有自己的UI(用户界面)、且分离的子进程时,会使得Windows桌面显得非常杂乱(桌面上同时显示所有运行的子进程的UI);例如,在播放器中,播放模块为独立进程,那么打开多个视频播放后就会有多个彼此独立的窗口。
为了解决上述问题,市面上出现了共同管理多个子进程的软件,例如360浏览器的“多标签模式”,即在将多个子进程以标签的形式(每个子进程对应1个标签)显示在同一窗口中。“多标签模式”的子进程管理方法为:编写能够容纳多个子进程的窗口代码后,为每个子进程编写对应的标签代码,所有标签代码的进程属性相同、且指定。但是,上述子进程管理方法使用时,存在以下不足:
上述子进程管理方法只能在1个窗口中显示和管理指定的子进程,例如360浏览器的“多标签模式”只能管理360浏览器的子进程;当Windows桌面上运行其他进程属性不同的子进程时,上述子进程管理方法无法管理,例如同时运行360浏览器、影视播放模块,网络测速模块,缓冲加速模块,此时Windows桌面依然会非常杂乱,而且不同子进程操作(例如移动、管理、最大化和最小化)均需要分开操作,其操作过程比较繁琐,不便于用户使用,降低了用户体验。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何同步管理和操作跨非指定的目标进程的窗口。本发明管理跨进程的窗口时,显著简化了操作过程,便于人们使用,大幅度提升了用户体验。
为达到以上目的,本发明提供的Windows跨进程窗口管理方法,包括以下步骤:
S1:获取需要管理的目标进程的PID,转到S2;
S2:根据目标进程的PID,获取目标进程创建的所有窗口,在所有窗口中,确定目标进程窗口的hWndDemo,转到S3;
S3:创建目标进程窗口容器,确定目标进程窗口容器的hWndVessel,转到S4;
S4:将目标进程窗口的hWndDemo,嵌入至目标进程窗口容器的hWndVessel中,设置目标进程窗口容器为父窗口,设置目标进程窗口为父窗口的子窗口,转到S5;
S5:将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;当目标进程窗口容器的尺寸属性、位置属性和显示隐藏属性发生变化时,通过hWndDemo同步修改目标进程窗口对应的属性。
本发明提供的存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述Windows跨进程窗口管理方法。
本发明提供的电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述Windows跨进程窗口管理方法。
本发明提供的Windows跨进程窗口管理系统,包括PID获取模块、目标进程窗口确定模块、目标进程窗口容器创建模块、窗口关联模块和窗口管理模块;
PID获取模块用于:获取需要管理的目标进程的PID,向目标进程窗口确定模块发送目标进程窗口确定信号;
目标进程窗口确定模块用于:收到目标进程窗口确定信号后,根据目标进程的PID,获取目标进程创建的所有窗口,在所有窗口中,确定目标进程窗口的hWndDemo,向目标进程窗口容器创建模块发送目标进程窗口容器创建信号;
目标进程窗口容器创建模块用于:收到目标进程窗口容器创建信号后,创建目标进程窗口容器,确定目标进程窗口容器的hWndVessel,向窗口关联模块发送窗口关联信号;
窗口关联模块用于:收到窗口关联信号后,将目标进程窗口的hWndDemo,嵌入至目标进程窗口容器的hWndVessel中,设置目标进程窗口容器为父窗口,设置目标进程窗口为父窗口的子窗口,向窗口管理模块发送窗口管理信号;
窗口管理模块用于:收到窗口管理信号后,将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;当目标进程窗口容器的尺寸属性、位置属性和显示隐藏属性发生变化时,通过hWndDemo同步修改目标进程窗口对应的属性。
与现有技术相比,本发明的优点在于:
参见S1至S5可知,本发明能够将所有需要管理的目标进程窗口,均嵌入于同一目标进程窗口容器中、并保持容器和目标进程窗口的一致;进而实现窗口不分离,但是各个进程独立运行的目的。主进程管理目标进程,主进程的窗口(目标进程窗口容器)也管理目标进程的窗口(目标进程窗口)。虽然内部模块很独立,但是整体视觉依旧统一。
由此可知,本发明管理目标进程窗口时,由于没有对目标进程进行任何限定,因此能够管理任意目标进程窗口,进而完全规避了现有技术中只能同时进程属性相同、且指定的子进程的问题,实现了跨进程(不同目标进程)窗口的同步管理和操作,显著简化了操作过程,便于人们使用,大幅度提升了用户体验。
附图说明
图1为本发明实施例中Windows跨进程窗口管理方法的流程图;
图2为本发明实施例中电子设备的连接框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例中的Windows跨进程窗口管理方法,包括以下步骤:
S1:获取需要管理的目标进程(例如子进程,例如A进程启动B进程,B即为A的子进程)的PID(Process ID,进程ID),获取目标进程的管理权限,转到S2。
S1中获取需要管理的目标进程的PID的具体流程为:
当目标进程未运行时,通过主进程启动目标进程,主进程在启动目标进程的过程中,获取目标进程的PID;当目标进程已运行时,通过Windows操作系统的API(ApplicationProgramming Interface,应用程序编程接口)函数获取目标进程的PID。
S2:根据目标进程的PID,获取目标进程创建的所有窗口,在所有窗口中,确定目标进程窗口的hWndDemo(handleWndDemo,目标进程窗口句柄),转到S3。
S2中在所有窗口中,确定目标进程窗口的hWndDemo具体流程为:通过EnumWindows函数(枚举窗口函数)枚举所有窗口,通过GetClassName函数(窗口类获取函数)获取所有窗口的窗口类名称,通过IsMainWindow函数(目标进程窗口确定函数)在所有窗口的窗口类名称中确定目标进程窗口的hWndDemo。
S2执行时,若目标进程窗口不存在,则重新执行S2,目标进程窗口不存在的情形为:在执行S2过程中,虽然目标进程启动,但是窗口还未创建,此时需要多次执行S2,直至目标进程窗口存在为止。
S3:创建目标进程窗口容器,该容器可以是一个子窗口,也可以是某个窗口中的子控件(必须是窗口模式的控件,即控件本身也是一个窗口,也有hWnd);确定目标进程窗口容器的hWndVessel(容器句柄),转到S4。
S4:将目标进程窗口的hWndDemo嵌入至目标进程窗口容器的hWndVessel中,通过窗口关系设置函数SetParent(hWndDemo,hWndVessel),设置目标进程窗口容器为父窗口,设置目标进程窗口为父窗口的子窗口,以使得目标进程窗口和目标进程窗口容器产生联系,转到S5。
参见S4可知,目标进程窗口已嵌入目标进程窗口容器中,但是,S4实际上是强行对无关联的目标进程窗口和目标进程窗口容器设置了父子关系,因此部分系统消息是无法按照正常的父子关系进行传递的,或者说部分默认的处理并不是很理想,所以后续还需要对容器内部的窗口进行管理(即S5)。
S5:通过样式属性调整函数ModifyStyleEx(hWnd,WS_CAPTION|WS_BORDER|WS_SYSMENU,0,0),将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;样式属性包括边框属性、标题属性、系统图标属性、系统菜单最大化属性和系统菜单最小化属性,进而使得目标进程窗口和目标进程窗口容器成为一个整体的窗口。当目标进程窗口容器的尺寸属性、位置属性、焦点属性和显示隐藏属性发生变化时,通过目标进程窗口的hWndDemo,同步修改目标进程窗口对应的属性,例如目标进程窗口容器的尺寸变大时,对应修改目标进程窗口的尺寸;目标进程窗口容器的位置改变时,对应修改目标进程窗口的位置;目标进程窗口容器的从显示变为隐藏时,对应将目标进程窗口从显示变为隐藏。
S5中匹配样式属性和同步修改目标进程窗口对应的属性的具体操作,均为本领域公知常识,在此不做赘述。
参见S1至S5可知,本发明能够将所有需要管理的目标进程窗口,均嵌入于同一目标进程窗口容器中、并保持容器和目标进程窗口的一致;进而实现窗口不分离,但是各个进程独立运行的目的。主进程管理目标进程,主进程的窗口(目标进程窗口容器)也管理目标进程的窗口(目标进程窗口)。虽然内部模块很独立,但是整体视觉依旧统一。
由此可知,本发明管理目标进程窗口时,由于没有对目标进程进行任何限定,因此能够管理任意目标进程窗口,进而完全规避了现有技术中只能同时进程属性相同、且指定的子进程的问题,实现了跨进程(不同目标进程)窗口的同步管理和操作,显著简化了操作过程,便于人们使用,大幅度提升了用户体验。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述Windows跨进程窗口管理方法。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图2所示,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述Windows跨进程窗口管理方法。
本发明实施例中的Windows跨进程窗口管理系统,包括PID获取模块、目标进程窗口确定模块、目标进程窗口容器创建模块、窗口关联模块和窗口管理模块。
PID获取模块用于:获取需要管理的目标进程的PID,获取所述目标进程的管理权限,向目标进程窗口确定模块发送目标进程窗口确定信号;获取需要管理的目标进程的PID的具体流程包括:当目标进程未运行时,通过主进程启动目标进程,主进程在启动目标进程的过程中,获取目标进程的PID;当目标进程已运行时,通过Windows操作系统的API函数获取目标进程的PID。
目标进程窗口确定模块用于:收到目标进程窗口确定信号后,根据目标进程的PID,获取目标进程创建的所有窗口,在所有窗口中,确定目标进程窗口的hWndDemo(若目标进程窗口不存在,则重新开始工作),向目标进程窗口容器创建模块发送目标进程窗口容器创建信号。
目标进程窗口容器创建模块用于:收到目标进程窗口容器创建信号后,创建目标进程窗口容器(窗口模式的控件),确定目标进程窗口容器的hWndVessel,向窗口关联模块发送窗口关联信号。
窗口关联模块用于:收到窗口关联信号后,将目标进程窗口的hWndDemo,嵌入至目标进程窗口容器的hWndVessel中,设置目标进程窗口容器为父窗口,设置目标进程窗口为父窗口的子窗口,向窗口管理模块发送窗口管理信号。
窗口管理模块用于:收到窗口管理信号后,将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;当目标进程窗口容器的尺寸属性、位置属性和显示隐藏属性发生变化时,通过hWndDemo同步修改目标进程窗口对应的属性。
需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种Windows跨进程窗口管理方法,其特征在于,该方法包括以下步骤:
S1:获取需要管理的目标进程的PID(PROCESSID,进程ID),转到S2;
S2:根据目标进程的PID(PROCESSID,进程ID),获取目标进程创建的所有窗口,在所有窗口中,确定目标进程窗口的hWndDemo(目标进程窗口句柄),转到S3;
S3:创建目标进程窗口容器,确定目标进程窗口容器的hWndVessel(容器句柄),转到S4;
S4:将目标进程窗口的hWndDemo(目标进程窗口句柄),嵌入至目标进程窗口容器的hWndVessel(容器句柄)中,设置目标进程窗口容器为父窗口,设置目标进程窗口为父窗口的子窗口,转到S5;
S5:将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;当目标进程窗口容器的尺寸属性、位置属性和显示隐藏属性发生变化时,通过hWndDemo(目标进程窗口句柄)同步修改目标进程窗口对应的属性。
2.如权利要求1所述的Windows跨进程窗口管理方法,其特征在于,S1还包括以下步骤:获取所述目标进程的管理权限;S1中所述获取需要管理的目标进程的PID(PROCESSID,进程ID)的具体流程包括:当目标进程未运行时,通过主进程启动目标进程,主进程在启动目标进程的过程中,获取目标进程的PID(PROCESSID,进程ID);当目标进程已运行时,通过Windows操作系统的API函数获取目标进程的PID(PROCESSID,进程ID)。
3.如权利要求1或2所述的Windows跨进程窗口管理方法,其特征在于:S3中所述目标进程窗口容器为窗口模式的控件。
4.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至3任一项所述的方法。
5.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1至3任一项所述的方法。
6.一种Windows跨进程窗口管理系统,其特征在于:该系统包括PID(PROCESSID,进程ID)获取模块、目标进程窗口确定模块、目标进程窗口容器创建模块、窗口关联模块和窗口管理模块;
PID(PROCESSID,进程ID)获取模块用于:获取需要管理的目标进程的PID(PROCESSID,进程ID),向目标进程窗口确定模块发送目标进程窗口确定信号;
目标进程窗口确定模块用于:收到目标进程窗口确定信号后,根据目标进程的PID(PROCESSID,进程ID),获取目标进程创建的所有窗口,在所有窗口中,确定目标进程窗口的hWndDemo(目标进程窗口句柄),向目标进程窗口容器创建模块发送目标进程窗口容器创建信号;
目标进程窗口容器创建模块用于:收到目标进程窗口容器创建信号后,创建目标进程窗口容器,确定目标进程窗口容器的hWndVessel(容器句柄),向窗口关联模块发送窗口关联信号;
窗口关联模块用于:收到窗口关联信号后,将目标进程窗口的hWndDemo(目标进程窗口句柄),嵌入至目标进程窗口容器的hWndVessel(容器句柄)中,设置目标进程窗口容器为父窗口,设置目标进程窗口为父窗口的子窗口,向窗口管理模块发送窗口管理信号;
窗口管理模块用于:收到窗口管理信号后,将目标进程窗口的样式属性,与目标进程窗口容器的样式属性进行匹配;当目标进程窗口容器的尺寸属性、位置属性和显示隐藏属性发生变化时,通过hWndDemo(目标进程窗口句柄)同步修改目标进程窗口对应的属性。
7.如权利要求6所述的Windows跨进程窗口管理系统,其特征在于:所述PID(PROCESSID,进程ID)获取模块还用于:获取所述目标进程的管理权限。
8.如权利要求6所述的Windows跨进程窗口管理系统,其特征在于:所述PID(PROCESSID,进程ID)获取模块中获取需要管理的目标进程的PID(PROCESSID,进程ID)的具体流程包括:当目标进程未运行时,通过主进程启动目标进程,主进程在启动目标进程的过程中,获取目标进程的PID(PROCESSID,进程ID);当目标进程已运行时,通过Windows操作系统的API函数获取目标进程的PID(PROCESSID,进程ID)。
9.如权利要求6至8任一项所述的Windows跨进程窗口管理系统,其特征在于:所述目标进程窗口容器创建模块中的目标进程窗口容器为窗口模式的控件。
10.如权利要求6至8任一项所述的Windows跨进程窗口管理系统,其特征在于:所述目标进程窗口确定模块工作时,若所述目标进程窗口不存在,则重新开始工作。
CN201710471541.6A 2017-06-20 2017-06-20 Windows跨进程窗口管理方法、存储介质、电子设备及系统 Active CN109101298B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710471541.6A CN109101298B (zh) 2017-06-20 2017-06-20 Windows跨进程窗口管理方法、存储介质、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710471541.6A CN109101298B (zh) 2017-06-20 2017-06-20 Windows跨进程窗口管理方法、存储介质、电子设备及系统

Publications (2)

Publication Number Publication Date
CN109101298A CN109101298A (zh) 2018-12-28
CN109101298B true CN109101298B (zh) 2021-09-07

Family

ID=64795849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710471541.6A Active CN109101298B (zh) 2017-06-20 2017-06-20 Windows跨进程窗口管理方法、存储介质、电子设备及系统

Country Status (1)

Country Link
CN (1) CN109101298B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309408A (zh) * 2020-02-24 2020-06-19 深圳震有科技股份有限公司 一种程序嵌入方法、系统及存储介质
CN111966260B (zh) * 2020-10-19 2021-02-19 统信软件技术有限公司 一种窗口显示方法及计算设备
CN114020268A (zh) * 2021-08-27 2022-02-08 统信软件技术有限公司 一种窗口显示方法、计算设备及存储介质
CN114356435A (zh) * 2021-11-26 2022-04-15 中国航空无线电电子研究所 一种Qt界面集成方法和装置
CN116107575B (zh) * 2023-04-13 2023-07-04 麒麟软件有限公司 一种窗口管理器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2034407A1 (en) * 2007-09-07 2009-03-11 Siemens Aktiengesellschaft System and method for obtaining accessible objects of a windowless control
US8307300B1 (en) * 2008-05-13 2012-11-06 Google Inc. Content resizing and caching in multi-process browser architecture
CN104881319B (zh) * 2015-05-14 2018-07-27 北京奇虎科技有限公司 一种跨进程的数据处理方法和装置

Also Published As

Publication number Publication date
CN109101298A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
CN109101298B (zh) Windows跨进程窗口管理方法、存储介质、电子设备及系统
EP3824441B1 (en) Techniques for displaying a shader table associated with raytracing images
US5652850A (en) Panel creation engine using templates to automatically configure user interface screeen displays
CN107209773B (zh) 自动调用统一的可视化界面
CN108024079A (zh) 录屏方法、装置、终端及存储介质
CN109445891B (zh) 画面组态及展示方法、装置、计算机可读存储介质
JP2005346722A (ja) フォームタイプを使用してフォームを生成する方法および装置
US20160148430A1 (en) Mobile device, operating method for modifying 3d model in ar, and non-transitory computer readable storage medium for storing operating method
CN111936967B (zh) 用于非兼容框架的跨进程接口
US20070266039A1 (en) Simplifying A Visual Depiction of A Graph
CN106681701B (zh) 一种任务的显示方法和装置
CN108038894B (zh) 动画创建方法、装置、电子设备及计算机可读存储介质
US20140109015A1 (en) Configurable hierarchical tree view
WO2017157042A1 (zh) 任务执行进度的显示方法、装置及客户端
US7149978B1 (en) Methods for managing host adapter settings
CN110781067A (zh) 一种启动耗时的计算方法、装置、设备和存储介质
CN109045694B (zh) 虚拟场景显示方法、装置、终端及存储介质
US20140365899A1 (en) Systems and methods for accessing system utilities
KR20210063223A (ko) 멀티태스크 융합 신경망 아키텍처
CN109522179B (zh) 服务器运行状态的监控方法、装置、处理器及服务器
US20090132915A1 (en) View selection and switching
CN107621951B (zh) 一种视图层级优化的方法及装置
US20230418631A1 (en) Creating and exporting graphical user interfaces for video game runtime environments
CN105118081A (zh) 图片合成视频的处理方法和装置
US8214802B1 (en) Providing visual preview of intermediate steps of software configuration

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240130

Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Yami Technology (Guangzhou) Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China