CN114880072A - 一种虚拟机的应用窗口显示方法、计算设备及存储介质 - Google Patents

一种虚拟机的应用窗口显示方法、计算设备及存储介质 Download PDF

Info

Publication number
CN114880072A
CN114880072A CN202210503021.XA CN202210503021A CN114880072A CN 114880072 A CN114880072 A CN 114880072A CN 202210503021 A CN202210503021 A CN 202210503021A CN 114880072 A CN114880072 A CN 114880072A
Authority
CN
China
Prior art keywords
operating system
virtual machine
application
message
window
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.)
Pending
Application number
CN202210503021.XA
Other languages
English (en)
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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202210503021.XA priority Critical patent/CN114880072A/zh
Publication of CN114880072A publication Critical patent/CN114880072A/zh
Pending legal-status Critical Current

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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

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)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及操作系统领域,公开了一种虚拟机的应用窗口显示方法、计算设备及存储介质。方法包括步骤:响应于对虚拟机中运行应用的窗口绘制请求,第二操作系统将应用的窗口数据存储到内部存储器;第二操作系统的第三通信模块生成将应用的窗口数据存储到内部存储器的第一消息;第二操作系统的信息获取模块根据第一消息生成第二消息;第一操作系统获取第二消息,并根据第二消息从内部存储器中获取窗口数据;第一操作系统根据窗口数据在第一操作系统的桌面绘制应用的窗口。本发明能够根据第一操作系统中的绘制的应用窗口方便的使用虚拟机的应用。

Description

一种虚拟机的应用窗口显示方法、计算设备及存储介质
技术领域
本发明涉及操作系统领域,特别涉及一种虚拟机的应用窗口显示方法、计算设备及存储介质。
背景技术
随着计算机技术的发展,人们使用计算机时会在计算机中安装虚拟机,并通过虚拟机完成各种工作。虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。
但现有技术中,在使用虚拟机时,虚拟机的桌面往往以一整个窗口的形式的在宿主机操作系统的桌面中显示,较为不便。用户在使用虚拟机中的应用时不能像使用宿主机应用那样,随意在宿主机桌面中拖动应用窗口,也不能随意调整大小,较为不便。
为此,需要一种新的虚拟机的应用窗口显示方法。
发明内容
为此,本发明提供一种虚拟机的应用窗口显示方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种虚拟机的应用窗口显示方法,适于在计算设备中执行,计算设备中包括内部存储器,并运行有第一操作系统和虚拟机,虚拟机中运行有第二操作系统,方法包括步骤:响应于对虚拟机中运行应用的窗口绘制请求,第二操作系统将应用的窗口数据存储到内部存储器;第二操作系统的第三通信模块生成将应用的窗口数据存储到内部存储器的第一消息;第二操作系统的信息获取模块根据第一消息生成第二消息;第一操作系统获取第二消息,并根据第二消息从内部存储器中获取窗口数据;第一操作系统根据窗口数据在第一操作系统的桌面绘制应用的窗口。
可选地,在根据本发明的方法中,对虚拟机中运行应用的窗口绘制请求包括点击操作,第一操作系统基于点击操作在第一操作系统中的第一点击位置,确定点击位置在第二操作系统中的第二点击位置;第一操作系统的第二通信模块将第二点击位置发送到第二操作系统。
可选地,在根据本发明的方法中,基于点击操作在第一操作系统中的第一点击位置,确定点击位置在第二操作系统中的第二点击位置包括步骤:根据第一点击位置的坐标进行坐标变换,得到第二点击位置的坐标。
可选地,在根据本发明的方法中,第一操作系统中包括第一通信进程,第二操作系统中包括第二通信进程,第一操作系统的第二通信模块将第二点击位置发送到第二操作系统包括步骤:第二通信模块通过第一通信进程将第二点击位置发送到第二通信进程,以便第二操作系统接收第二点击位置。
可选地,在根据本发明的方法中,对虚拟机中运行应用的窗口绘制请求还包括快捷键操作,响应于快捷键操作,第一操作系统将快捷键操作包括的第一操作指令,转化为对第二操作系统进行操作的第二操作指令;第一操作系统的第二通信模块将第二操作指令发送到第二操作系统。
可选地,在根据本发明的方法中,内部存储器的存储资源在虚拟机中作为虚拟机的虚拟内部机存储器,第二操作系统将应用的窗口数据存储到内部存储器包括步骤:第二操作系统将应用的窗口数据存储到虚拟机内部存储器。
可选地,在根据本发明的方法中,信息获取模块中注册有截获第一消息的信息获取函数,第二操作系统的信息获取模块根据第一消息生成第二消息包括步骤:信息获取模块根据信息获取函数截获第一消息;根据第一消息生成第二消息。
可选地,在根据本发明的方法中,第二消息包括:第二操作系统根据虚拟机内部存储器中的窗口数据绘制应用的窗口。
可选地,在根据本发明的方法中,第一操作系统获取第二消息包括步骤:第一操作系统的第一通信模块根据第一通信进程,获取信息获取模块根据第二通信进程发送的第二消息。
可选地,在根据本发明的方法中,对虚拟机中运行应用的窗口绘制请求还包括信息输入操作,响应于信息输入操作,第二通信模块将信息输入操作中包括的输入信息发送到第二操作系统;第二操作系统中的第四通信模块将输入信息发送到应用。
可选地,在根据本发明的方法中,信息获取函数包括钩子函数。
根据本发明的另一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的虚拟机的应用窗口显示方法。
根据本发明的再一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的虚拟机的应用窗口显示方法。
本发明公开了一种虚拟机的应用窗口显示方法,适于在计算设备中执行。计算设备中包括内部存储器,并运行有第一操作系统和虚拟机,虚拟机中运行有第二操作系统,方法包括步骤:响应于对虚拟机中运行应用的窗口绘制请求,第二操作系统将应用的窗口数据存储到内部存储器;第二操作系统的第三通信模块生成将应用的窗口数据存储到内部存储器的第一消息;第二操作系统的信息获取模块根据第一消息生成第二消息;第一操作系统获取第二消息,并能够根据第二消息从内部存储器中获取窗口数据,实现第一操作系统与第二操作系统之间的数据互通。随后由第一操作系统根据窗口数据在第一操作系统的桌面绘制应用的窗口。通过上述方法,第一操作系统能够直接根据窗口数据,在第一操作系统的桌面中绘制虚拟机中应用的窗口,而不必在第二操作系统的桌面中绘制应用窗口。用户能够根据第一操作系统中的应用窗口方便的使用第二操作系统的应用。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本发明公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的计算设备100的示意图;
图2示出了根据本发明一个示范性实施例的虚拟机的应用窗口显示方法200的流程示意图;
图3示出了根据本发明一个示范性实施例的信息获取模块进行信息获取的示意图;
图4示出了根据本发明一个示范性实施例的在第二操作系统中绘制应用窗口的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
首先参考图1,图1示出了根据本发明一个示范性实施例的计算设备100的示意图。如图1所示,计算设备100中包括内部存储器111、外部存储器112、中央处理器113和图形处理器114。内部存储器111包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。外部存储器112是指除内部存储器111及中央处理器113缓存以外的储存器,具体可实现为硬盘、软盘、光盘、U盘等。中央处理器113是计算设备100的运算核心和控制和核心,用于解析计算机指令以及处理计算机软件中的数据。图形处理器114是计算设备中做图像和图形相关运算工作的微处理器。
计算设备100基于上述部件还运行有第一操作系统120,用于控制计算设备100的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。本发明对第一操作系统120的具体类型不做限制。
计算设备100中运行有虚拟机130。虚拟机130根据第一操作系统120运行,并安装有第二操作系统132。本发明对第二操作系统132的类型不做限制。第二操作系统132可实现为与第一操作系统120不同的操作系统类型。内部存储器111的存储资源在虚拟机130中作为虚拟机130的存储资源,可实现为虚拟机130的虚拟机内部存储器131。本发明对内部存储器111向虚拟机130中分配的存储资源大小不做限制,可根据具体需要进行分配。
计算设备100中还可基于第一操作系统120运行有一个或多个应用(图中未示出)。虚拟机130中可基于第二操作系统132运行有一个或多个应用,例如图1中所示的在虚拟机130中运行的应用137。本发明对计算设备100或虚拟机130中运行的应用数量及种类不做限制,例如应用可实现为:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。
根据一个方面,计算设备100还可以连接一个或多个输入设备141,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以连接一个或多个输出设备142,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备100可以包括允许与其他计算设备进行通信的一个或多个通信连接。合适的通信连接的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。
本发明实施方式还提供一种非暂态可读存储介质,存储有指令,所述指令用于使所述计算设备执行根据本发明实施方式的方法。本实施例的可读介质包括永久性和非永久性、可移动和非可移动介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非暂态可读存储介质。
根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。
本发明中为了实现在第一操作系统120的桌面中直接绘制并显示第二操作系统132中的运行应用(如应用137)的窗口。在第一操作系统120中构建第一通信层121,在第二操作系统132中构建信息获取模块133及第二通信层134;其中,第一通信层121包括第一通信模块122和第二通信模块123;第二通信层134包括第三通信模块135和第四通信模块136。
本发明中计算设备100中可安装多个虚拟机,以绘制多个虚拟机不同的应用窗口。本发明对计算设备100中可安装虚拟机的数量不做限制,以及对所绘制应用窗口的数量不做限制。根据本发明提供的方法可不付出创造性劳动的,进行方案拓展以实现上述技术效果。
下面结合本发明提供的虚拟机的应用窗口显示方法200对第一通信层121、信息获取模块133及第二通信层134的具体工作过程进行说明。
本发明的虚拟机的应用窗口显示方法适于在计算设备中执行,如在计算设备100中执行。现在参考图2,图2示出了根据本发明一个示范性实施例的虚拟机的应用窗口显示方法200的流程示意图。如图2所示,首先执行步骤S210,响应于对虚拟机中运行应用的窗口绘制请求,第二操作系统将应用的窗口数据存储到内部存储器。
对虚拟机中运行应用的窗口绘制请求可由虚拟机中的操作系统、应用发起,也可以由用户发起。当对虚拟机中运行应用的窗口绘制请求由虚拟机中的操作系统或应用发起时,虚拟机中运行的应用直接对窗口绘制请求进行处理,将窗口数据加载到内部存储器。
计算设备中内部存储器和外部存储器将存储资源提供给虚拟机,作为虚拟机的存储资源。内部存储器的存储资源在虚拟机中作为虚拟机的虚拟机内部存储器131,第二操作系统将应用的窗口数据存储到内部存储器时,第二操作系统将应用的窗口数据存储到虚拟机内部存储器。计算设备中外部存储器的存储资源也可作为为虚拟机的虚拟机外部存储器(图中未示出),用于存储应用的窗口数据。应用需要绘制窗口时,从虚拟机外部存储器中取出窗口数据,加载到虚拟机内部存储器中,以便绘制窗口。
对虚拟机中运行应用的窗口绘制请求还可由计算设备中运行的第一操作系统、基于第一操作系统的应用以及用户等进行发起,本发明中对该窗口绘制请求的具体发起方式不做限制。
根据本发明的一个实施例,对虚拟机中运行应用的窗口绘制请求包括点击操作,第一操作系统基于点击操作在第一操作系统中的第一点击位置,确定点击位置在第二操作系统中的第二点击位置。随后由第一操作系统的第二通信模块将第二点击位置发送到第二操作系统。
使用计算设备100及其中运行的虚拟机130的用户,可用过输入设备141触发点击操作。根据本发明的一个实施例,输入设备141可具体实现为鼠标、触控板等硬件。点击操作为在第一操作系统的桌面上的第一点击位置的进行点击事件。当在第一操作系统的桌面上进行了点击操作时,第一操作系统获取这次点击操作在第一操作系统的桌面中的坐标,作为第一点击位置。
当该第一点击位置落在第二操作系统的响应区域时,第二操作系统基于点击操作在第一操作系统中的第一点击位置,确定点击位置在第二操作系统中的第二点击位置;具体的:根据第一点击位置的坐标进行坐标变换,得到第二点击位置的坐标。
第二操作系统的响应区域为第二操作系统的操作系统或应用的界面,在第一操作系统的桌面所覆盖的区域。第二操作系统还可以通过设置等操作,拓展在第一操作系统桌面中的响应区域,如进入截屏准备,将第一操作系统的桌面的其他区域作为响应区域。第二操作系统的响应区域可根据具体需求进行设置,本发明对响应区域的具体布置方式不作限制。
根据第一点击位置的坐标进行坐标变换时,可根据第二操作系统的操作系统或应用的界面在第一操作系统的桌面的位置,以及第一点击位置进行坐标变化;使第一点击位置的坐标从以第一操作系统的桌面为参考系,转化为一第二操作系统或应用的界面为参考系。本发明对根据第一点击位置的坐标得到第二点击位置的坐标的具体方式不做限制。
第一操作系统中包括用于与第二操作系统进行通信的第一通信进程,第二操作系统中包括用于与第一操作系统进行通信的第二通信进程。第一操作系统得到第二点击位置后,由第二通信模块将第二点击位置发送到第二操作系统;具体的:第二通信模块通过第一通信进程将第二点击位置发送到第二通信进程,以便第二操作系统接收第二点击位置。
根据本发明的另一个实施例,对虚拟机中运行应用的窗口绘制请求还包括快捷键操作,响应于快捷键操作,第一操作系统将快捷键操作包括的第一操作指令,转化为对第二操作系统进行操作的第二操作指令;第一操作系统的第二通信模块将第二操作指令发送到第二操作系统。用户可通过键盘等输入设备实现快捷键操作;或鼠标与键盘的组合实现快捷键操作。
第一操作系统在接收到快捷键操作时,可将用户触发的快捷键操作包括的适于对第一操作系统进行操作的第一操作指令,转化为虚拟机中注册的适于对第二操作系统或应用进行操作的第二操作指令。本发明对将第一操作指令转化为第二操作指令的具体方式不做限制。
接着,执行步骤S220,第二操作系统的第三通信模块生成将应用的窗口数据存储到内部存储器的第一消息。第一消息为公告第二操作系统已经将窗口数据存储完毕的消息,第二操作系统根据该消息可进行下一步操作,如根据窗口数据绘制应用窗口。但本发明中通过信息获取模块对第一消息进行截获,由第一操作系统根据窗口数据绘制窗口。
接着,执行步骤S230,第二操作系统的信息获取模块根据第一消息生成第二消息。信息获取模块中注册有截获第一消息的信息获取函数,第二操作系统的信息获取模块根据第一消息生成第二消息时,信息获取模块根据信息获取函数截获第一消息,随后根据第一消息生成第二消息。
根据本发明的一个实施例,信息获取函数可实现为注册的钩子函数,用于在监听是否有第一消息发出;当第三通信模块生成第一消息时,截获第一消息,并有信息获取模块进行处理。
根据本发明的一个实施例,第二消息包括:第二操作系统根据虚拟机内部存储器中的窗口数据绘制应用的窗口,第二消息用于通知第一操作系统:第二操作系统需要根据窗口数据绘制应用的窗口。第二消息由第二操作系统的信息获取模块根据第二通信进程发送到第一操作系统。
图3示出了根据本发明一个示范性实施例的信息获取模块进行信息获取的示意图。如图3所示,当用户发出对第二操作系统的点击操作时,第二操作系统将需要显示的窗口数据存储到内部存储器,并生成第一消息。信息获取模块对第一消息进行截获,并生成第二消息,以便第二操作系统获取窗口数据并绘制窗口,对用户的点击操作进行响应。
随后,执行步骤S240,第一操作系统获取第二消息,并根据第二消息从内部存储器中获取窗口数据。第一操作系统获取第二消息时,第一操作系统的第一通信模块根据第一通信进程,获取信息获取模块根据第二通信进程发送的第二消息。由于虚拟机内部存储器为第一操作系统的内部存储器提供给第二操作系统的存储资源;因此,第二操作系统在虚拟机内部存储器中存放的窗口数据可以实现系统间共享,第二操作系统可直接根据第二消息从内部存储器中获取窗口数据。
最后,执行步骤S250,第一操作系统根据窗口数据在第一操作系统的桌面绘制应用的窗口。第一操作系统根据窗口数据在第一操作系统的桌面绘制应用的窗口时,第一操作系统根据窗口数据,调用中央处理器和图形处理器在第一操作系统的桌面绘制应用的窗口。具体的,第一操作系统绘制第一操作系统中的应用的窗口时,可具体为对窗口进行初始渲染显示、对窗口的放大、缩小、改变位置、样式等。
根据本发明的一个实施例,对虚拟机中运行应用的窗口绘制请求还包括信息输入操作,响应于信息输入操作,第二通信模块将信息输入操作中包括的输入信息发送到第二操作系统,接着第二操作系统中的第四通信模块将输入信息发送到应用,以便在应用中对输入进行处理实现信息输入。当需要对输入信息进行显示时,第二操作系统将输入信息作为窗口数据存储在虚拟机内部存储器中,以便第一操作系统获取窗口数据在应用窗口中显示输入信息。本发明对输入信息的具体类型不做限制。
接着参考图4,图4示出了根据本发明一个示范性实施例的在第二操作系统中绘制应用窗口的示意图。如图4所示,当用户需要对窗口进行初次绘制或变化等操作时,触发对虚拟机中运行应用的窗口绘制请求。第一操作系统接收到窗口绘制请求后,触发窗口绘制事件,将点击操作的第一点击位置转化为第二点击位置,通过第一通信进程发送到第二操作系统。第二点击位置的坐标为以第二操作系统或应用的界面为参考系的坐标。
第二操作系统在接收到对虚拟机中运行应用的窗口绘制请求后,将窗口数据存储到内部存储器。第二操作系统的第三通信模块生成将应用的窗口数据存储到内部存储器的第一消息,信息获取模块通过信息获取函数截获第一消息,并根据第一消息生成要绘制窗口的第二消息,通过第二通信进程通知第一操作系统。
第一操作系统获取窗口数据,并根据窗口绘制协议绘制应用窗口,将显示的内容提供给用户。根据本发明的一个实施例,当第一操作系统实现为linux系统时,linux系统中的窗口绘制协议可实现为X11协议或Wayland协议等。
本发明公开了一种虚拟机的应用窗口显示方法,适于在计算设备中执行。计算设备中包括内部存储器,并运行有第一操作系统和虚拟机,虚拟机中运行有第二操作系统,方法包括步骤:响应于对虚拟机中运行应用的窗口绘制请求,第二操作系统将应用的窗口数据存储到内部存储器;第二操作系统的第三通信模块生成将应用的窗口数据存储到内部存储器的第一消息;第二操作系统的信息获取模块根据第一消息生成第二消息;第一操作系统获取第二消息,并能够根据第二消息从内部存储器中获取窗口数据,实现第一操作系统与第二操作系统之间的数据互通。随后由第一操作系统根据窗口数据在第一操作系统的桌面绘制应用的窗口。通过上述方法,第一操作系统能够直接根据窗口数据,在第一操作系统的桌面中绘制虚拟机中应用的窗口,而不必在第二操作系统的桌面中绘制应用窗口。用户能够根据第一操作系统中的应用窗口方便的使用第二操作系统的应用。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的虚拟机的应用窗口显示方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的。

Claims (13)

1.一种虚拟机的应用窗口显示方法,适于在计算设备中执行,所述计算设备中包括内部存储器,并运行有第一操作系统和虚拟机,所述虚拟机中运行有第二操作系统,所述方法包括步骤:
响应于对所述虚拟机中运行应用的窗口绘制请求,所述第二操作系统将所述应用的窗口数据存储到所述内部存储器;
所述第二操作系统的第三通信模块生成将所述应用的窗口数据存储到所述内部存储器的第一消息;
所述第二操作系统的信息获取模块根据所述第一消息生成第二消息;
所述第一操作系统获取所述第二消息,并根据所述第二消息从所述内部存储器中获取窗口数据;
所述第一操作系统根据所述窗口数据在所述第一操作系统的桌面绘制所述应用的窗口。
2.如权利要求1所述的方法,其中,所述对所述虚拟机中运行应用的窗口绘制请求包括点击操作,所述第一操作系统基于点击操作在所述第一操作系统中的第一点击位置,确定所述点击位置在所述第二操作系统中的第二点击位置;
所述第一操作系统的第二通信模块将所述第二点击位置发送到所述第二操作系统。
3.如权利要求2所述的方法,其中,所述基于点击操作在所述第一操作系统中的第一点击位置,确定所述点击位置在所述第二操作系统中的第二点击位置包括步骤:
根据所述第一点击位置的坐标进行坐标变换,得到所述第二点击位置的坐标。
4.如权利要求2或3所述的方法,其中,所述第一操作系统中包括第一通信进程,所述第二操作系统中包括第二通信进程,所述第一操作系统的第二通信模块将所述第二点击位置发送到所述第二操作系统包括步骤:
所述第二通信模块通过所述第一通信进程将所述第二点击位置发送到所述第二通信进程,以便所述第二操作系统接收所述第二点击位置。
5.如权利要求1-4中任一项所述的方法,其中,所述对所述虚拟机中运行应用的窗口绘制请求还包括快捷键操作,响应于快捷键操作,所述第一操作系统将所述快捷键操作包括的第一操作指令,转化为对所述第二操作系统进行操作的第二操作指令;
所述第一操作系统的第二通信模块将所述第二操作指令发送到所述第二操作系统。
6.如权利要求1-5中任一项所述的方法,其中,所述内部存储器的存储资源在所述虚拟机中作为所述虚拟机的虚拟机内部存储器,所述第二操作系统将所述应用的窗口数据存储到所述内部存储器包括步骤:
所述第二操作系统将所述应用的窗口数据存储到所述虚拟机内部存储器。
7.如权利要求6所述的方法,其中,所述信息获取模块中注册有截获所述第一消息的信息获取函数,所述第二操作系统的信息获取模块根据所述第一消息生成第二消息包括步骤:
所述信息获取模块根据所述信息获取函数截获所述第一消息;
根据所述第一消息生成第二消息。
8.如权利要求7所述的方法,其中,所述第二消息包括:所述第二操作系统根据所述虚拟机内部存储器中的窗口数据绘制所述应用的窗口。
9.如权利要求8所述的方法,其中,所述第一操作系统获取所述第二消息包括步骤:
所述第一操作系统的第一通信模块根据第一通信进程,获取所述信息获取模块根据第二通信进程发送的第二消息。
10.如权利要求1-9中任一项所述的方法,其中,所述对所述虚拟机中运行应用的窗口绘制请求还包括信息输入操作,响应于所述信息输入操作,所述第二通信模块将所述信息输入操作中包括的输入信息发送到所述第二操作系统;
所述第二操作系统中的第四通信模块将所述输入信息发送到所述应用。
11.如权利要求1-10中任一项所述的方法,其中,所述信息获取函数包括钩子函数。
12.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1-11中任一项所述的方法的指令。
13.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-11中任一项所述的方法。
CN202210503021.XA 2022-05-10 2022-05-10 一种虚拟机的应用窗口显示方法、计算设备及存储介质 Pending CN114880072A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210503021.XA CN114880072A (zh) 2022-05-10 2022-05-10 一种虚拟机的应用窗口显示方法、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210503021.XA CN114880072A (zh) 2022-05-10 2022-05-10 一种虚拟机的应用窗口显示方法、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN114880072A true CN114880072A (zh) 2022-08-09

Family

ID=82673153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210503021.XA Pending CN114880072A (zh) 2022-05-10 2022-05-10 一种虚拟机的应用窗口显示方法、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN114880072A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115657879A (zh) * 2022-12-09 2023-01-31 北京小米移动软件有限公司 基于异构操作系统的输入控制方法、装置、设备及介质
CN115658216A (zh) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 应用程序窗口的处理方法、设备及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115657879A (zh) * 2022-12-09 2023-01-31 北京小米移动软件有限公司 基于异构操作系统的输入控制方法、装置、设备及介质
CN115657879B (zh) * 2022-12-09 2023-04-07 北京小米移动软件有限公司 基于异构操作系统的输入控制方法、装置、设备及介质
CN115658216A (zh) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 应用程序窗口的处理方法、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN114880072A (zh) 一种虚拟机的应用窗口显示方法、计算设备及存储介质
CN104679598B (zh) 用于选择同步或异步进程间通信机制的系统和方法
CN108287708B (zh) 一种数据处理方法、装置、服务器及计算机可读存储介质
CN109564566B (zh) 对调用应用的发现以用于控制文件水化行为
WO2021139224A1 (zh) 云场景下的文件备份方法、装置、介质、电子设备
US9467495B2 (en) Transferring assets via a server-based clipboard
US9910724B2 (en) Fast and accurate identification of message-based API calls in application binaries
US20140059114A1 (en) Application service providing system and method and server apparatus and client apparatus for application service
CN110990014A (zh) 骨架屏页面代码的生成方法、装置、服务器及存储介质
CA3154763A1 (en) Data operation method, device and system
CN107391914B (zh) 一种参数显示方法、装置及设备
US20200089512A1 (en) Method and Apparatus for Invoking Input Method, Server, and Terminal
CN111625312A (zh) 一种app换肤方法、装置、电子设备及存储介质
US10733687B2 (en) Method and apparatus for data communication in virtualized environment, and processor
US20120066641A1 (en) Methods and apparatus for expandable window border
CN113885758B (zh) 一种虚拟屏幕生成方法、计算设备及存储介质
US10360701B2 (en) Integrated visualization
CN111866065A (zh) 渲染图像回传的方法及装置
CN114422236A (zh) 一种智能设备的访问方法、装置和电子设备
CN113010128A (zh) 基于bim模型的多屏互动方法及系统
US20180341717A1 (en) Providing instant preview of cloud based file
US9158433B1 (en) Graphical user interface text selection and processing in client applications employing a screen-at-a-time based communication protocol
CN114281456A (zh) 一种应用窗口显示方法、计算设备及存储介质
CN113946650A (zh) 一种文本显示处理方法、装置、计算机及可读存储介质
US20150212987A1 (en) Immediate independent rasterization

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