CN108701045A - 计算机设备中客户操作系统屏幕截图方法和装置 - Google Patents

计算机设备中客户操作系统屏幕截图方法和装置 Download PDF

Info

Publication number
CN108701045A
CN108701045A CN201880001055.0A CN201880001055A CN108701045A CN 108701045 A CN108701045 A CN 108701045A CN 201880001055 A CN201880001055 A CN 201880001055A CN 108701045 A CN108701045 A CN 108701045A
Authority
CN
China
Prior art keywords
operating system
client operating
memory block
screenshot capture
client
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
Application number
CN201880001055.0A
Other languages
English (en)
Other versions
CN108701045B (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.)
Cloudminds Inc
Original Assignee
Cloudminds Inc
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 Cloudminds Inc filed Critical Cloudminds Inc
Publication of CN108701045A publication Critical patent/CN108701045A/zh
Application granted granted Critical
Publication of CN108701045B publication Critical patent/CN108701045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种计算机设备中客户操作系统屏幕截图方法和装置。所述计算机设备具有主操作系统,通过主操作系统上为客户操作系统分配的显示窗口,显示所述客户操作系统。所述方法包括:接收来自客户操作系统的屏幕截图请求;查找主操作系统上为客户操作系统分配的显示窗口对应的图层;将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。本公开实施例在多个操作系统同时运行的环境中,使客户操作系统屏幕截图更快捷。

Description

计算机设备中客户操作系统屏幕截图方法和装置
技术领域
本公开涉及操作系统领域,尤其涉及一种计算机设备中客户操作系统屏幕截图方法和装置。
背景技术
计算机设备中可以运行多个操作系统。例如,主操作系统和若干个客户操作系统可以同时运行在一台计算机设备上。多个操作系统之间共享计算机设备中的硬件,如CPU,内存和输入输出设备。在主操作系统上为每个客户操作系统分配一个显示窗口。当需要显示客户操作系统时,在主操作系统上分配的显示窗口进行显示。当客户操作系统在后台运行时,将分配的显示窗口变为隐藏状态。当客户操作系统在前台运行时,将分配的显示窗口变为显示状态。
在多个操作系统同时运行时,有时需要对某一客户操作系统进行屏幕截图。此时的屏幕截图方法与单操作系统的屏幕截图方法一样。即,遍历该客户操作系统的绘图存储库中的所有的图层,将图层中的内容逐一绘制到一块绘图使用的存储区域中。然后,将该区域中的数据读取出来,转换成用户的图片格式,渲染到显示器上,即完成一次客户操作系统屏幕截图。该屏幕截图方法比较繁琐。
发明内容
本公开的一个目的是,在多个操作系统同时运行的环境中,使客户操作系统屏幕截图更快捷。
根据本公开实施例的第一方面,提供了一种计算机设备中客户操作系统屏幕截图方法,所述计算机设备具有主操作系统,通过主操作系统上为客户操作系统分配的显示窗口,显示所述客户操作系统,所述方法包括:
接收来自客户操作系统的屏幕截图请求;
查找主操作系统上为客户操作系统分配的显示窗口对应的图层;
将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
在一个实施例中,所述将所述图层发送给所述客户操作系统,具体包括:
将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址;
将屏幕截图存储区中存储的内容,发给所述客户操作系统。
在一个实施例中,所述将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址,具体包括:
接收屏幕截图存储区在客户操作系统中的物理地址;
将所述物理地址翻译为屏幕截图存储区在主操作系统中的虚拟地址;
将所述图层绘制在所述虚拟地址。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址是由客户操作系统的内核将屏幕截图存储区在客户操作系统中的虚拟地址转换成的。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和存储区大小。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在客户操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和存储区大小。
在一个实施例中,所述将屏幕截图存储区中存储的内容,发给所述客户操作系统,具体包括:
通过主操作系统和客户操作系统之间的通道,将屏幕截图存储区中存储的内容,发给所述客户操作系统。
在一个实施例中,所述查找主操作系统上为客户操作系统分配的显示窗口对应的图层,具体包括:
从显示图层存储库,查找为客户操作系统分配的显示窗口对应的图层,其中,所述显示图层存储库存储主操作系统上为各客户操作系统分配的显示窗口对应的图层。
根据本公开实施例的第二方面,提供了一种计算机设备中客户操作系统屏幕截图装置,所述计算机设备具有主操作系统,通过主操作系统上为客户操作系统分配的显示窗口,显示所述客户操作系统,所述装置包括:
接收单元,配置为接收来自客户操作系统的屏幕截图请求;
查找单元,配置为查找主操作系统上为客户操作系统分配的显示窗口对应的图层;
发送单元,配置为将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
在一个实施例中,所述发送单元进一步配置为:
将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址;
将屏幕截图存储区中存储的内容,发给所述客户操作系统。
在一个实施例中,所述将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址,具体包括:
接收屏幕截图存储区在客户操作系统中的物理地址;
将所述物理地址翻译为屏幕截图存储区在主操作系统中的虚拟地址;
将所述图层绘制在所述虚拟地址。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址是由客户操作系统的内核将屏幕截图存储区在客户操作系统中的虚拟地址转换成的。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和存储区大小。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在客户操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和存储区大小。
在一个实施例中,所述将屏幕截图存储区中存储的内容,发给所述客户操作系统,具体包括:通过主操作系统和客户操作系统之间的通道,将屏幕截图存储区中存储的内容,发给所述客户操作系统。
在一个实施例中,所述查找单元进一步配置为:
从显示图层存储库,查找为客户操作系统分配的显示窗口对应的图层,其中,所述显示图层存储库存储主操作系统上为各客户操作系统分配的显示窗口对应的图层。
根据本公开实施例的第三方面,提供了一种计算机设备,包括:
存储器,用于存储计算机可读程序指令;
处理器,用于执行存储器存储的计算机可读程序指令,以实现根据本公开实施例第一方面的客户操作系统屏幕截图方法。
根据本公开实施例的第四方面,提供了一种计算机可读介质,存储有计算机可读程序指令,当所述计算机可读程序指令被处理器执行时,实现根据本公开实施例第一方面的客户操作系统屏幕截图方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
在多操作系统的情形下,在主操作系统上为每个客户操作系统分配一个显示窗口。当需要显示客户操作系统时,在主操作系统上分配的显示窗口进行显示。在进行这种显示时,已经遍历过了客户操作系统所有的图层,将图层中的内容逐一存放到帧缓存,然后按照帧缓存中存储的内容,在主操作系统上分配的显示窗口进行渲染。在客户操作系统需要屏幕截图时,实际上执行了与在主操作系统上显示类似的操作,只不过在主操作系统上显示时,图层中的内容存放到帧缓存,而在屏幕截图时,图层中的内容存放到屏幕截图存储区。因此,本公开实施例中,为了避免重复操作,在客户操作系统屏幕截图时利用在主操作系统上进行显示时的操作成果,即将在主操作系统上进行显示时存储的图层直接发送给客户操作系统,进行客户操作系统的屏幕截图显示。由于它利用了在主操作系统上进行显示时得到的客户操作系统的图层而无需重新获取,使客户操作系统屏幕截图更快捷,提高了屏幕截图效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1为根据本公开一实施例的多操作系统的计算机设备的框架示意图。
图2为根据本公开一实施例进一步示出了图1中的各种地址翻译过程的计算机设备的框架示意图。
图3为根据本公开一实施例的计算机设备中客户操作系统屏幕截图方法流程图。
图4为根据本公开一实施例的图3中步骤330的详细流程图。
图5为根据本公开一实施例的图4中步骤3301的详细流程图。
图6为根据本公开一实施例的计算机设备中客户操作系统屏幕截图装置的框图。
图7为根据本公开一实施例的计算机设备的硬件结构图。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
图1为根据本公开一实施例的多操作系统的计算机设备的框架示意图。
多操作系统是指一台计算机设备上运行的多个操作系统,其中一个必须是主操作系统1,剩下的可以是一个或多个客户操作系统2。主操作系统是指是计算机设备优先运行的操作系统,是管理和控制计算机设备硬件与软件资源的计算机程序,任何其他软件或系统都必须在主操作系统的支持下才能运行。客户操作系统是指依附于主操作系统的存在的、面向客户的操作系统。客户操作系统运行时,虚拟机模拟了硬件设备供其使用。该虚拟机是主操作系统的一个应用程序运行的。因此,客户操作系统依赖于主操作系统。
如图1所示,主操作系统1和客户操作系统2共享计算机设备的硬件4,包括CPU、内存、外设等。主操作系统1包括主操作系统内核3和主操作系统应用11。如上所述,客户操作系统依附于主操作系统的存在,因此,客户操作系统2也建立在主操作系统内核3之上。
客户操作系统2运行在由虚拟机管理的虚拟CPU、虚拟时钟、虚拟中断管理器及虚拟外设构成的硬件平台上。虚拟CPU是客户操作系统2指令执行和运算的主要单元。虚拟时钟提供客户操作系统进行进程调度等操作的时钟源。虚拟中断管理器管理各种虚拟外设生成的提供给虚拟CPU的中断信号。虚拟外设是虚拟机实现的各种输入输出设备模块。主操作系统1上运行的虚拟机模拟器(emulator)14,控制主操作系统的真实CPU开始执行虚拟机指令,及在真实的CPU上由主操作系统切换至客户操作系统,以及当由客户操作系统切换至主操作系统之后,客户操作系统是否继续执行等。虚拟机模拟器14还需要操作和监控主操作系统上真实的输入输出设备和相关的文件,以供虚拟机的虚拟外设使用。因此,客户操作系统2也建立于虚拟机模拟器14之上。
虚拟机模拟器14中含有地址翻译器15,地址翻译器15的功能在后文详细介绍。
主操作系统应用11含有主操作系统后端绘图程序13、主操作系统渲染模块12。如上所述,在主操作系统上为每个客户操作系统分配一个显示窗口。当需要显示客户操作系统时,在主操作系统上分配的显示窗口进行显示。主操作系统后端绘图程序13就是在进行这种显示时,遍历客户操作系统所有的图层,并将图层中的内容逐一存放到帧缓存的程序。主操作系统渲染模块12负责按照帧缓存中存储的内容,在主操作系统上分配的显示窗口进行渲染。
客户操作系统2包括客户操作系统内核23和客户操作系统应用21。客户操作系统内核23包括主操作系统和客户操作系统之间的通道24,其在后文中详细描述。客户操作系统应用21包括客户操作系统渲染模块22。现有技术的客户操作系统屏幕截图方法与单操作系统的屏幕截图方法一样。即,遍历该客户操作系统的绘图存储库中的所有的图层,将图层中的内容逐一绘制到一块绘图使用的存储区域中。然后,将该区域中的数据读取出来,转换成用户的图片格式,渲染到显示器上,该渲染就是由客户操作系统渲染模块22执行的。
在多操作系统的情形下,如上所述,在客户操作系统需要屏幕截图时,实际上执行了与在主操作系统上显示类似的操作,只不过在主操作系统上显示时,图层中的内容存放到帧缓存,而在屏幕截图时,图层中的内容存放到屏幕截图存储区。因此,本公开实施例中,为了避免重复操作,在客户操作系统屏幕截图时利用在主操作系统上进行显示时的操作成果,即将在主操作系统上进行显示时存储的图层直接发送给客户操作系统,进行客户操作系统的屏幕截图显示。由于它利用了在主操作系统上进行显示时得到的客户操作系统的图层而无需重新获取,使客户操作系统屏幕截图更快捷,提高了屏幕截图效率。
如图3所示,根据本公开实施例的客户操作系统屏幕截图方法包括:
步骤310、接收来自客户操作系统的屏幕截图请求;
步骤320、查找主操作系统上为客户操作系统分配的显示窗口对应的图层;
步骤330、将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
下面对这些步骤进行详细描述。
在步骤310,接收来自客户操作系统的屏幕截图请求。
屏幕截图请求是指进行屏幕截图操作的请求。用户向客户操作系统发出想要进行截屏的请求时,其对应的服务端包含在客户操作系统的图层绘制服务中。该服务端据此向主操作系统1发出屏幕截图请求。
在步骤320中,查找主操作系统上为客户操作系统分配的显示窗口对应的图层。
如上所述,在客户操作系统需要屏幕截图时,实际上执行了与在主操作系统上显示类似的操作,只不过在主操作系统上显示时,图层中的内容存放到帧缓存,而在屏幕截图时,图层中的内容存放到屏幕截图存储区。因此,本公开实施例中,在客户操作系统在主操作系统上进行显示时,将客户操作系统的图层内容放入显示图层存储库,而不是帧缓存,或者在放入帧缓存的同时放入显示图层存储库。这样,就可以在步骤320中,从显示图层存储库,查找为客户操作系统分配的显示窗口对应的图层,其中,所述显示图层存储库存储主操作系统上为各客户操作系统分配的显示窗口对应的图层。
在步骤330中,将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
在一个实施例中,通过主操作系统和客户操作系统之间的通道24,将屏幕截图存储区中存储的内容,发给所述客户操作系统。屏幕截图存储区中存储的内容是客户操作系统在主操作系统的分配的显示窗口的显示画面的图层,而且客户操作系统在主操作系统的分配窗口显示时只有一个图层。该图层的内容与客户操作系统的屏幕截图是一样的。将该图层发给所述客户操作系统,就可以显示客户操作系统的屏幕截图。
在一个实施例中,如图4所示,步骤330包括:
步骤3301、将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址;
步骤3302、将屏幕截图存储区中存储的内容,发给所述客户操作系统。
在一个实施例中,如图5所示,步骤3301包括:
步骤33011、接收屏幕截图存储区在客户操作系统中的物理地址;
步骤33012、将所述物理地址翻译为屏幕截图存储区在主操作系统中的虚拟地址;
步骤33013、将所述图层绘制在所述虚拟地址。
当客户操作系统向主操作系统发送屏幕截图操作请求后,客户操作系统的服务端在客户操作系统中申请存储保存截图数据的屏幕截图存储区,向客户操作系统内核23发送申请的屏幕截图存储区在客户操作系统中的虚拟地址,如图2所示。在一个实施例中,该地址可以包括所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和存储区大小。或者,在另一个实施例中,该地址可以包括所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和虚拟结束地址。作为一个具体例子,该地址可以采取这样的信息形式发送到客户操作系统内核23:{绘图操作,屏幕截图存储区在客户操作系统中的虚拟起始地址,存储区大小}。
在一个实施例中,客户操作系统内核23将屏幕截图存储区在客户操作系统中的虚拟地址31翻译为屏幕截图存储区在客户操作系统中的物理地址32。该翻译可以采用客户操作系统内核的存储管理机制实现。将屏幕截图存储区在客户操作系统中的虚拟地址翻译为屏幕截图存储区在客户操作系统中的物理地址的意义是:屏幕截图存储区在客户操作系统中的虚拟地址是由客户操作系统应用21分配的,不是一个真实的地址,只在客户操作系统内部有效。将这种虚拟地址传递到主操作系统,主操作系统无法建立与主操作系统内的虚拟地址的映射,或者说,即使建立映射,也是没有意义的。例如,在有多个客户操作系统的情况下,同一虚拟地址在不同客户操作系统中实际上对应不同的两个物理位置。这样,就不能知道客户操作系统希望占用的屏幕截图存储区对应着主操作系统的哪些虚拟地址,从而不能将主操作系统上为客户操作系统分配的显示窗口对应的图层传递到客户操作系统。
在一个例子中,假设发送到客户操作系统内核23的地址信息是{绘图操作,屏幕截图存储区在客户操作系统中的虚拟起始地址,存储区大小},经客户操作系统内核23翻译后得到{绘图操作,屏幕截图存储区在客户操作系统中的物理起始地址,存储区大小}。
然后,在一个实施例中,客户操作系统内核23将屏幕截图存储区在客户操作系统中的物理地址32发送给地址翻译器15,如图2所示。地址翻译器15将屏幕截图存储区在客户操作系统中的物理地址32翻译成屏幕截图存储区在主操作系统中的虚拟地址33。在一个实施例中,可以在地址翻译器15预存屏幕截图存储区在客户操作系统中的物理地址32、和屏幕截图存储区在主操作系统中的虚拟地址33的对应关系表。所述翻译通过查找该对应关系表实现。
在一个实施例中,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和存储区大小。作为一个具体的例子,所述屏幕截图存储区在客户操作系统中的物理地址可以采用如下信息格式:{绘图操作,屏幕截图存储区在客户操作系统中的物理起始地址,存储区大小};所述屏幕截图存储区在主操作系统中的虚拟地址可以采用如下信息格式:{绘图操作,屏幕截图存储区在主操作系统中的虚拟起始地址,存储区大小}。
在另一实施例中,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和物理结束地址;所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和虚拟结束地址。
然后,地址翻译器15将翻译后的所述屏幕截图存储区在主操作系统中的虚拟地址发送给主操作系统后端绘图程序13,如图2所示。主操作系统后端绘图程序13将从显示图层存储库19获得的主操作系统上为客户操作系统分配的显示窗口对应的图层绘制到所述屏幕截图存储区在主操作系统中的虚拟地址的区域中。在绘制完成后,将所述屏幕截图存储区在主操作系统中的虚拟地址的区域中的内容,即客户操作系统的图层,发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
本公开实施例采用地址翻译器,将屏幕截图存储区在客户操作系统中的物理地址翻译成屏幕截图存储区在主操作系统中的虚拟地址。这样做的好处是,通过这种地址转换,容易地在主操作系统中的虚拟地址和在客户操作系统中的物理地址之间建立了映射,使主操作系统1知道,将主操作系统上为客户操作系统分配的显示窗口对应的图层放到主操作系统的什么虚拟地址,就相当于放到了能供客户操作系统显示屏幕截图用的真实物理地址,大大提高了客户操作系统屏幕截图的效率。
如图6所示,根据本公开的一个实施例,还提供了一种计算机设备中客户操作系统屏幕截图装置,所述计算机设备具有主操作系统,通过主操作系统上为客户操作系统分配的显示窗口,显示所述客户操作系统,所述装置包括:
接收单元610,配置为接收来自客户操作系统的屏幕截图请求;
查找单元620,配置为查找主操作系统上为客户操作系统分配的显示窗口对应的图层;
发送单元630,配置为将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
可选地,所述发送单元630进一步配置为:
将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址;
将屏幕截图存储区中存储的内容,发给所述客户操作系统。
可选地,所述将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址,具体包括:
接收屏幕截图存储区在客户操作系统中的物理地址;
将所述物理地址翻译为屏幕截图存储区在主操作系统中的虚拟地址;
将所述图层绘制在所述虚拟地址。
可选地,所述屏幕截图存储区在客户操作系统中的物理地址是由客户操作系统的内核将屏幕截图存储区在客户操作系统中的虚拟地址转换成的。
可选地,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和存储区大小。
可选地,所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;所述屏幕截图存储区在客户操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和存储区大小。
可选地,所述将屏幕截图存储区中存储的内容,发给所述客户操作系统,具体包括:
通过主操作系统和客户操作系统之间的通道,将屏幕截图存储区中存储的内容,发给所述客户操作系统。
可选地,所述查找单元进一步配置为:
从显示图层存储库,查找为客户操作系统分配的显示窗口对应的图层,其中,所述显示图层存储库存储主操作系统上为各客户操作系统分配的显示窗口对应的图层。
下面参照图7来描述根据本公开的实施方式的计算机设备800。图7显示的计算机设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备800以通用计算设备的形式表现。计算机设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图3中所示的各个步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
计算机设备800也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该计算机设备800交互的设备通信,和/或与使得该计算机设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,计算机设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与计算机设备800的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (18)

1.一种计算机设备中客户操作系统屏幕截图方法,所述计算机设备具有主操作系统,通过主操作系统上为客户操作系统分配的显示窗口,显示所述客户操作系统,所述方法包括:
接收来自客户操作系统的屏幕截图请求;
查找主操作系统上为客户操作系统分配的显示窗口对应的图层;
将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
2.根据权利要求1所述的方法,其中,所述将所述图层发送给所述客户操作系统,具体包括:
将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址;
将屏幕截图存储区中存储的内容,发给所述客户操作系统。
3.根据权利要求2所述的方法,其中,所述将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址,具体包括:
接收屏幕截图存储区在客户操作系统中的物理地址;
将所述物理地址翻译为屏幕截图存储区在主操作系统中的虚拟地址;
将所述图层绘制在所述虚拟地址。
4.根据权利要求3所述的方法,其中,所述屏幕截图存储区在客户操作系统中的物理地址是由客户操作系统的内核将屏幕截图存储区在客户操作系统中的虚拟地址转换成的。
5.根据权利要求3所述的方法,其中,
所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;
所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和存储区大小。
6.根据权利要求4所述的方法,其中,
所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;
所述屏幕截图存储区在客户操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和存储区大小。
7.根据权利要求2所述的方法,其中,所述将屏幕截图存储区中存储的内容,发给所述客户操作系统,具体包括:
通过主操作系统和客户操作系统之间的通道,将屏幕截图存储区中存储的内容,发给所述客户操作系统。
8.根据权利要求1所述的方法,其中,所述查找主操作系统上为客户操作系统分配的显示窗口对应的图层,具体包括:
从显示图层存储库,查找为客户操作系统分配的显示窗口对应的图层,其中,所述显示图层存储库存储主操作系统上为各客户操作系统分配的显示窗口对应的图层。
9.一种计算机设备中客户操作系统屏幕截图装置,所述计算机设备具有主操作系统,通过主操作系统上为客户操作系统分配的显示窗口,显示所述客户操作系统,所述装置包括:
接收单元,配置为接收来自客户操作系统的屏幕截图请求;
查找单元,配置为查找主操作系统上为客户操作系统分配的显示窗口对应的图层;
发送单元,配置为将所述图层发送给所述客户操作系统,作为显示的客户操作系统屏幕截图。
10.根据权利要求9所述的装置,其中,所述发送单元进一步配置为:
将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址;
将屏幕截图存储区中存储的内容,发给所述客户操作系统。
11.根据权利要求10所述的装置,其中,所述将所述图层绘制在屏幕截图存储区在主操作系统中的虚拟地址,具体包括:
接收屏幕截图存储区在客户操作系统中的物理地址;
将所述物理地址翻译为屏幕截图存储区在主操作系统中的虚拟地址;
将所述图层绘制在所述虚拟地址。
12.根据权利要求11所述的装置,其中,所述屏幕截图存储区在客户操作系统中的物理地址是由客户操作系统的内核将屏幕截图存储区在客户操作系统中的虚拟地址转换成的。
13.根据权利要求11所述的装置,其中,
所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;
所述屏幕截图存储区在主操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在主操作系统中的虚拟起始地址、和存储区大小。
14.根据权利要求12所述的装置,其中,
所述屏幕截图存储区在客户操作系统中的物理地址,具体包括:所述屏幕截图存储区在客户操作系统中的物理起始地址、和存储区大小;
所述屏幕截图存储区在客户操作系统中的虚拟地址,具体包括:所述屏幕截图存储区在客户操作系统中的虚拟起始地址、和存储区大小。
15.根据权利要求10所述的装置,其中,所述将屏幕截图存储区中存储的内容,发给所述客户操作系统,具体包括:
通过主操作系统和客户操作系统之间的通道,将屏幕截图存储区中存储的内容,发给所述客户操作系统。
16.根据权利要求9所述的装置,其中,所述查找单元进一步配置为:
从显示图层存储库,查找为客户操作系统分配的显示窗口对应的图层,其中,所述显示图层存储库存储主操作系统上为各客户操作系统分配的显示窗口对应的图层。
17.一种计算机设备,包括:
存储器,用于存储计算机可读程序指令;
处理器,用于执行存储器存储的计算机可读程序指令,以实现根据权利要求1-8中任一个所述的客户操作系统屏幕截图方法。
18.一种计算机可读介质,存储有计算机可读程序指令,当所述计算机可读程序指令被处理器执行时,实现根据权利要求1-8中任一个所述的客户操作系统屏幕截图方法。
CN201880001055.0A 2018-03-20 2018-03-20 计算机设备中客户操作系统屏幕截图方法和装置 Active CN108701045B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/079662 WO2019178754A1 (zh) 2018-03-20 2018-03-20 计算机设备中客户操作系统屏幕截图方法和装置

Publications (2)

Publication Number Publication Date
CN108701045A true CN108701045A (zh) 2018-10-23
CN108701045B CN108701045B (zh) 2021-06-04

Family

ID=63841295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880001055.0A Active CN108701045B (zh) 2018-03-20 2018-03-20 计算机设备中客户操作系统屏幕截图方法和装置

Country Status (5)

Country Link
US (1) US11055154B2 (zh)
EP (1) EP3605327B1 (zh)
JP (1) JP6858885B2 (zh)
CN (1) CN108701045B (zh)
WO (1) WO2019178754A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096326A (zh) * 2019-04-30 2019-08-06 维沃移动通信有限公司 一种截屏方法、终端设备及计算机可读存储介质
WO2019178754A1 (zh) * 2018-03-20 2019-09-26 深圳前海达闼云端智能科技有限公司 计算机设备中客户操作系统屏幕截图方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764619B (zh) * 2021-01-22 2023-03-21 联想(北京)有限公司 一种窗口控制方法及电子设备
CN115706820A (zh) * 2021-08-10 2023-02-17 北京小米移动软件有限公司 录屏方法、装置及终端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799383A (zh) * 2012-07-18 2012-11-28 腾讯科技(深圳)有限公司 移动终端屏幕截图方法、屏幕截图装置
CN102810040A (zh) * 2011-05-31 2012-12-05 联想(北京)有限公司 一种显示处理方法、装置及计算机系统
CN104850327A (zh) * 2015-05-27 2015-08-19 小米科技有限责任公司 移动终端的屏幕截图方法及装置、电子设备
CN104899039A (zh) * 2015-06-12 2015-09-09 百度在线网络技术(北京)有限公司 用于在终端设备上提供截屏服务的方法和装置
CN105100664A (zh) * 2015-08-21 2015-11-25 北京金山安全软件有限公司 一种图像生成方法及装置
US20160350136A1 (en) * 2015-05-27 2016-12-01 Google Inc. Assist layer with automated extraction
CN107003875A (zh) * 2016-12-13 2017-08-01 深圳前海达闼云端智能科技有限公司 用于多操作系统的显示方法、装置和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201229910A (en) * 2011-01-14 2012-07-16 Hon Hai Prec Ind Co Ltd Method of activating application in virtual environment
JP5862408B2 (ja) 2012-03-27 2016-02-16 富士通株式会社 エミュレーション装置、及びエミュレーションプログラム
WO2019178754A1 (zh) * 2018-03-20 2019-09-26 深圳前海达闼云端智能科技有限公司 计算机设备中客户操作系统屏幕截图方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810040A (zh) * 2011-05-31 2012-12-05 联想(北京)有限公司 一种显示处理方法、装置及计算机系统
CN102799383A (zh) * 2012-07-18 2012-11-28 腾讯科技(深圳)有限公司 移动终端屏幕截图方法、屏幕截图装置
CN104850327A (zh) * 2015-05-27 2015-08-19 小米科技有限责任公司 移动终端的屏幕截图方法及装置、电子设备
US20160350136A1 (en) * 2015-05-27 2016-12-01 Google Inc. Assist layer with automated extraction
CN104899039A (zh) * 2015-06-12 2015-09-09 百度在线网络技术(北京)有限公司 用于在终端设备上提供截屏服务的方法和装置
CN105100664A (zh) * 2015-08-21 2015-11-25 北京金山安全软件有限公司 一种图像生成方法及装置
CN107003875A (zh) * 2016-12-13 2017-08-01 深圳前海达闼云端智能科技有限公司 用于多操作系统的显示方法、装置和电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019178754A1 (zh) * 2018-03-20 2019-09-26 深圳前海达闼云端智能科技有限公司 计算机设备中客户操作系统屏幕截图方法和装置
US11055154B2 (en) 2018-03-20 2021-07-06 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Screen-shooting method and device for guest operating system in computer apparatus
CN110096326A (zh) * 2019-04-30 2019-08-06 维沃移动通信有限公司 一种截屏方法、终端设备及计算机可读存储介质
CN110096326B (zh) * 2019-04-30 2021-08-17 维沃移动通信有限公司 一种截屏方法、终端设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2019178754A1 (zh) 2019-09-26
EP3605327A1 (en) 2020-02-05
EP3605327B1 (en) 2021-12-15
CN108701045B (zh) 2021-06-04
JP2020521197A (ja) 2020-07-16
JP6858885B2 (ja) 2021-04-14
EP3605327A4 (en) 2020-04-22
US11055154B2 (en) 2021-07-06
US20200065165A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
JP6997253B2 (ja) ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム
CN108701045A (zh) 计算机设备中客户操作系统屏幕截图方法和装置
CN105493067A (zh) 应用上下文转移框架和协议
CN108345543B (zh) 一种数据处理方法、装置、设备及存储介质
US11010859B2 (en) Display resource scheduling method and device for embedded system
US20180295194A1 (en) Techniques for supporting remote micro-services as native functions in spreadsheet applications
CN106991154A (zh) 网页渲染方法、装置、终端及服务器
CN109032706A (zh) 智能合约执行方法、装置、设备和存储介质
CN103370689A (zh) 跨环境应用兼容
CN110489440B (zh) 数据查询方法和装置
CN101430649A (zh) 基于虚拟机的虚拟计算环境系统
CN109597640B (zh) 一种应用程序的账号管理方法、装置、设备和介质
CN108845863A (zh) 用于虚拟机与宿主机的通信方法、装置和系统
US11809429B2 (en) Method for processing model parameters, and apparatus
CN110365796A (zh) 业务请求处理方法、装置
CN112966824A (zh) 推理库的部署方法、装置和电子设备
KR20140027741A (ko) 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치
CN115550687A (zh) 三维模型场景交互方法、系统、设备、装置及存储介质
CN112286682A (zh) 基于分布式集群的机器学习任务处理方法、装置及设备
CN103218112A (zh) 信息处理方法和信息处理系统
JP2022091904A (ja) ミニプログラムページのスキン切り替え方法、装置及び電子機器
US10747755B2 (en) Method for providing immediate result for user input, and apparatus therefor
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
CN112394907A (zh) 基于容器的交付系统构建方法、应用交付方法和交付系统
CN106161501A (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