CN104536802B - A method and virtual machine for realizing application invocation - Google Patents
A method and virtual machine for realizing application invocation Download PDFInfo
- Publication number
- CN104536802B CN104536802B CN201410802798.1A CN201410802798A CN104536802B CN 104536802 B CN104536802 B CN 104536802B CN 201410802798 A CN201410802798 A CN 201410802798A CN 104536802 B CN104536802 B CN 104536802B
- Authority
- CN
- China
- Prior art keywords
- desktop
- shortcut icon
- virtual
- virtual desktop
- terminal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/445—Program loading or initiating
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
本发明公开了一种实现应用调用的方法及虚拟机,包括虚拟机获取指定的快捷方式图标的属性信息;虚拟机在其虚拟桌面上创建与指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标;当虚拟机接收触发虚拟桌面上的快捷方式图标时,运行该快捷方式图标对应的安装在终端本地的应用。本发明方法提供了在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面用户的易用性和便捷度,进一步提高了虚拟桌面在操作和使用方面的自动化水平。
The invention discloses a method for implementing application calling and a virtual machine. The virtual machine obtains attribute information of a designated shortcut icon; and the virtual machine creates a shortcut on the virtual desktop of an application corresponding to the designated shortcut icon on its virtual desktop. Mode icon; when the virtual machine receives the trigger icon on the shortcut icon on the virtual desktop, it runs the local application installed on the terminal corresponding to the shortcut icon. The method of the invention provides a technical solution for quickly establishing a soft link of an application program shortcut between the virtual desktop and the terminal user's local area, and achieves the purpose of directly starting the terminal local application program in the virtual desktop, without the need for the virtual desktop and the terminal. Repeated switching between local desktops greatly improves the usability and convenience of desktop users, and further improves the automation level of virtual desktop operations and use.
Description
技术领域technical field
本发明涉及虚拟桌面技术,尤指一种在终端桌面与虚拟桌面间,实现应用调用的方法及虚拟机。The invention relates to a virtual desktop technology, in particular to a method and a virtual machine for realizing application invocation between a terminal desktop and a virtual desktop.
背景技术Background technique
随着互联网、云计算和虚拟化技术的发展,在虚拟桌面技术领域也取得了长足的进步,产生了桌面虚拟化即虚拟桌面基础架构(VDI,Virtual Desktop Infrastructure)的概念,VDI的实质是一种将个人计算机环境从物理设施上分离出来、基于服务器的客户端/服务端(Client/Server)计算模式,将所有的数据都存放在数据中心内的集中式大型存储设备中,也可以理解为是一种支持企业级实现桌面系统远程动态访问与数据中心统一托管的技术。VDI的目标是实现:通过任何终端电子设备,在任何地点、任何时间,访问互联网上属于用户个人的桌面系统。而虚拟桌面系统的典型构架,在后台远端一般是一个庞大的虚拟机集群,每个用户都需要一个虚拟机为其服务;所有的终端设备通过互联网最终都连接到一个网关的中继设备上,然后对用户进行虚拟机的分发工作。With the development of the Internet, cloud computing and virtualization technology, great progress has also been made in the field of virtual desktop technology, resulting in the concept of desktop virtualization, that is, virtual desktop infrastructure (VDI, Virtual Desktop Infrastructure). The essence of VDI is a A server-based client/server computing model that separates the personal computer environment from the physical facility and stores all data in a centralized large-scale storage device in the data center, which can also be understood as It is a technology that supports enterprise-level remote dynamic access of desktop systems and unified hosting of data centers. The goal of VDI is to achieve: through any terminal electronic device, at any place, at any time, access the desktop system belonging to the user's personal on the Internet. The typical architecture of a virtual desktop system is generally a huge virtual machine cluster at the remote end of the background, and each user needs a virtual machine to serve it; all terminal devices are eventually connected to a gateway relay device through the Internet , and then distribute the virtual machine to the user.
目前,VDI所使用的关键技术是桌面传输协议(也称为网络显示协议)及其实现。一般来说,基于两种处理方式:一种是,服务器渲染(Host Rendering),即虚拟机桌面的所有图形图像处理工作,都在远端服务器上完成,向用户终端发送的仅是像素信息,用户终端无需进行大量的运算,剔除了对CPU和内存资源要求较高的客户端设计,保持了客户端结构简洁,但是,这种处理方式对网络带宽要求较大。另一种是,客户端渲染(Client Rendering),即客户端具备一定的运算能力,承担部分桌面图形图像计算工作,桌面的数据可以压缩传输,以节省网络带宽。Currently, the key technology used by VDI is the Desktop Transport Protocol (also known as the Network Display Protocol) and its implementation. Generally speaking, it is based on two processing methods: one is, server rendering (Host Rendering), that is, all graphics and image processing work of the virtual machine desktop is completed on the remote server, and only pixel information is sent to the user terminal. The user terminal does not need to perform a large number of calculations, eliminates the client design that requires high CPU and memory resources, and keeps the client structure simple. However, this processing method requires a large network bandwidth. The other is, client rendering (Client Rendering), that is, the client has a certain computing power and undertakes part of the desktop graphics and image computing work, and the desktop data can be compressed and transmitted to save network bandwidth.
图1为现有X86架构服务器主机的虚拟化架构和组件框图,如图1所示,在X86架构服务器主机上,基于Hypervisor虚拟化引擎,也称为虚拟机监视器/管理器(VMM,VirtualMachine Monitor),可以创建并运行多台虚拟机(如图1中的虚拟机1、虚拟机2…虚拟机N),每台虚拟机都类似于一台物理PC机,完全独立运行并相互隔离,可以安装用户所需的各种不同的操作系统即客户操作系统(GuestOS),比如Windows 8、Windows 7、基于Linux内核的各种发布版或商业版操作系统等。Figure 1 is a block diagram of the virtualization architecture and components of the existing X86 architecture server host. As shown in Figure 1, on the X86 architecture server host, a Hypervisor virtualization engine, also known as a virtual machine monitor/manager (VMM, Virtual Machine Monitor), you can create and run multiple virtual machines (as shown in Figure 1, virtual machine 1, virtual machine 2...virtual machine N), each virtual machine is similar to a physical PC, running completely independently and isolated from each other, Various operating systems required by the user, namely guest operating systems (GuestOS), can be installed, such as Windows 8, Windows 7, various distribution or commercial operating systems based on the Linux kernel, and the like.
如图1所示,在X86架构物理服务器硬件的计算环境中,Hypervisor虚拟化引擎,是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统及其上的应用程序共享硬件。Hypervisor是一种在虚拟计算环境中的“元”操作系统,可以访问服务器主机上包括CPU处理器、内存、磁盘、网卡在内的所有物理设备资源。Hypervisor不但能调度、协调这些硬件资源的访问和分配,也可以同时在各个虚拟机之间施加隔离和防护。当服务器启动并运行Hypervisor时,可以给每一台虚拟机分配适量的CPU、内存,网络和磁盘资源,同时加载虚拟机的GuestOS。Hypervisor是所有虚拟化技术的核心,通过Hypervisor实现对虚拟机的生命周期进行管理,比如其基本能力之一就是支持非中断的在线迁移虚拟机,使虚拟机在运行状态下从一个主机迁移到另一个主机上,而终端用户在使用虚拟机的过程中不会有任何感知,不会造成虚拟机中的应用程序或业务中断。As shown in Figure 1, in the computing environment of X86 physical server hardware, the hypervisor virtualization engine is an intermediate software layer running between the basic physical server and the operating system, allowing multiple operating systems and their Applications share hardware. Hypervisor is a "meta" operating system in a virtual computing environment, which can access all physical device resources including CPU processors, memory, disks, and network cards on the server host. The hypervisor can not only schedule and coordinate the access and allocation of these hardware resources, but also impose isolation and protection between virtual machines at the same time. When the server starts and runs the hypervisor, each virtual machine can be allocated an appropriate amount of CPU, memory, network and disk resources, and the virtual machine's GuestOS can be loaded at the same time. Hypervisor is the core of all virtualization technologies. Hypervisor is used to manage the life cycle of virtual machines. For example, one of its basic capabilities is to support non-disruptive online migration of virtual machines, so that virtual machines can migrate from one host to another in a running state. On a host, the end user will not have any perception during the use of the virtual machine, and will not cause application or business interruption in the virtual machine.
虚拟桌面技术,是将Hypervisor创建和管理的虚拟机操作系统的桌面,拉远到用户的终端本地系统上进行显示,同时将虚拟机的音视频也重定向到终端输出,而将终端用户的鼠标、键盘等人体学输入操作或录音、摄像等音视频输入操作,重定向到虚拟机中去,再通过虚拟机的桌面反馈并呈现出来。一般采用VDI虚拟桌面传输协议或称为网络显示协议,来实现桌面拉远和外设重定向。图2为现有虚拟桌面的架构和组件框图,如图2所示,通过安装在用户终端(如瘦终端、PC机或笔记本电脑等)上的虚拟桌面客户端程序,可以访问企业的Hypervisor虚拟化服务器主机及其上的虚拟机。Hypervisor服务器主机创建并管理虚拟机,实现虚拟机的设备仿真。在虚拟机中,部署有虚拟桌面代理程序、目标存根程序和其他驱动等组件,从而实现虚拟桌面与客户端程序的消息交互和通信。The virtual desktop technology is to extend the desktop of the virtual machine operating system created and managed by the hypervisor to the local system of the user's terminal for display. , keyboard and other ergonomic input operations, or audio and video input operations such as recording and video recording, are redirected to the virtual machine, and then fed back and presented through the virtual machine's desktop. Generally, VDI virtual desktop transfer protocol or network display protocol is used to realize remote desktop and peripheral redirection. Figure 2 is the architecture and component block diagram of the existing virtual desktop. As shown in Figure 2, through the virtual desktop client program installed on the user terminal (such as thin terminal, PC or laptop, etc.) The server host and the virtual machines on it. The Hypervisor server host creates and manages virtual machines and implements device emulation for virtual machines. In the virtual machine, components such as a virtual desktop agent program, a target stub program, and other drivers are deployed, so as to realize the message interaction and communication between the virtual desktop and the client program.
通过虚拟桌面技术,可以为终端用户提供操作、使用和维护虚拟机操作系统(OS)、桌面系统及其上已安装应用程序的途径和方法,达到与物理PC机桌面完全相同的用户体验和使用效果。Through virtual desktop technology, it can provide end users with ways and methods to operate, use and maintain virtual machine operating systems (OS), desktop systems and applications installed on them, so as to achieve exactly the same user experience and use as physical PC desktops. Effect.
现有的以上不管哪一种虚拟化引擎或虚拟桌面协议,都存在一个问题,即虚拟机中的GuestOS和用户本地的终端操作系统是各自独立的,用户所需的各种应用程序,要么部署在虚拟桌面的GuestOS中并启动运行(这是虚拟桌面大多数用户的使用场景和方式),要么部署在终端本地系统中并启动运行。这样极大地降低了桌面易用性,用户体验也大打折扣。Regardless of the existing virtualization engine or virtual desktop protocol, there is a problem, that is, the GuestOS in the virtual machine and the user's local terminal operating system are independent of each other, and the various applications required by the user can either be deployed or deployed. In the GuestOS of the virtual desktop and start running (this is the usage scenario and method of most users of virtual desktops), or deploy it in the local system of the terminal and start running. This greatly reduces the usability of the desktop and greatly reduces the user experience.
发明内容SUMMARY OF THE INVENTION
为了解决上述技术问题,本发明提供一种实现应用调用的方法及虚拟机,能够从虚拟桌面中直接快速启动安装在终端本地的应用,不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升桌面易用性。In order to solve the above technical problems, the present invention provides a method for implementing application invocation and a virtual machine, which can directly and quickly start the application installed in the local terminal from the virtual desktop, without repeatedly switching between the virtual desktop and the local desktop of the terminal, thereby Greatly improve desktop usability.
为了达到本发明目的,本发明提供了一种实现应用调用的方法,包括:虚拟机获取终端本地桌面上的、指定的快捷方式图标的属性信息;In order to achieve the purpose of the present invention, the present invention provides a method for implementing application invocation, comprising: acquiring attribute information of a designated shortcut icon on a local desktop of a terminal by a virtual machine;
虚拟机在其虚拟桌面上创建与指定的快捷方式图标对应的应用的快捷方式图标;The virtual machine creates a shortcut icon of the application corresponding to the specified shortcut icon on its virtual desktop;
当虚拟机接收到触发虚拟桌面上的快捷方式图标时,运行安装在终端本地的、该快捷方式图标对应的应用。When the virtual machine receives the trigger icon on the virtual desktop, it runs the application installed locally on the terminal and corresponding to the shortcut icon.
可选地,所述虚拟机获取终端本地桌面上的、指定的快捷方式图标的属性信息之前,还包括:Optionally, before the virtual machine acquires the attribute information of the designated shortcut icon on the local desktop of the terminal, the method further includes:
在所述终端本地的系统桌面上,应用程序在终端本地桌面上对应的所述指定的快捷方式图标被执行拖曳操作;On the local system desktop of the terminal, the designated shortcut icon corresponding to the application program on the local desktop of the terminal is performed a drag operation;
所述虚拟机获取指定的快捷方式图标的属性信息包括:The attribute information obtained by the virtual machine of the specified shortcut icon includes:
虚拟桌面客户端程序判断出鼠标拖曳操作在虚拟桌面窗口的客户区域内并释放,虚拟桌面客户端程序获取所述被拖曳的快捷方式图标对应的文件名;The virtual desktop client program determines that the mouse drag operation is in the client area of the virtual desktop window and releases it, and the virtual desktop client program obtains the file name corresponding to the dragged shortcut icon;
虚拟桌面客户端程序根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;The virtual desktop client program obtains attribute information of the dragged shortcut icon according to the obtained file name, wherein the attribute information includes the file name, path and icon information of the target application corresponding to the dragged shortcut icon ;
虚拟桌面客户端程序向所述虚拟机发送通知消息,在该通知消息中携带获得的所述快捷方式图标的属性信息。The virtual desktop client program sends a notification message to the virtual machine, where the notification message carries the acquired attribute information of the shortcut icon.
可选地,该方法还包括:如果所述虚拟桌面客户端程序判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。Optionally, the method further includes: if the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area, ending the process.
可选地,所述创建与指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标包括:Optionally, the creating a shortcut icon corresponding to the specified shortcut icon on the virtual desktop includes:
部署在所述虚拟机内部的桌面代理程序接收到来自所述虚拟桌面客户端程序的通知消息后,保存该通知消息中携带的属性信息;After receiving the notification message from the virtual desktop client program, the desktop agent program deployed inside the virtual machine saves the attribute information carried in the notification message;
桌面代理程序在所述虚拟机的虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与被拖曳的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;The desktop agent program creates a shortcut icon on the virtual desktop of the virtual machine, the name of the shortcut icon is the same as the name of the shortcut on the terminal desktop, and correspondingly saves the storage corresponding to the dragged shortcut icon The filename and actual path of the application locally in the terminal;
将虚拟桌面上建立的快捷方式图标关联到所述虚拟机中指定的目标存根程序上。The shortcut icon established on the virtual desktop is associated with the target stub program specified in the virtual machine.
可选地,所述指定的快捷方式图标对应的应用的快捷方式图标包括:Optionally, the shortcut icon of the application corresponding to the specified shortcut icon includes:
使用Windows系统提供的远端应用图标;或者,Use the remote application icon provided by the Windows system; or,
通过获取所述终端桌面的终端应用程序的图标文件或图标数据,使得在所述虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标。By acquiring the icon file or icon data of the terminal application on the terminal desktop, the shortcut created in the virtual desktop uses a shortcut icon that is completely consistent with the shortcut icon of the terminal application.
可选地,所述运行安装在终端本地的、该快捷方式图标对应的安装在终端本地的应用包括:Optionally, the running application installed locally on the terminal and corresponding to the shortcut icon and installed locally on the terminal includes:
当所述虚拟机接收到触发虚拟桌面上的快捷方式图标的时,运行与该快捷方式图标所关联的目标存根程序;When the virtual machine receives the trigger of the shortcut icon on the virtual desktop, run the target stub program associated with the shortcut icon;
所述目标存根程序先获取所述在虚拟桌面上创建的快捷方式图标中保存的对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给所述桌面代理程序;The target stub program first obtains the file name and path of the corresponding terminal application stored in the shortcut icon created on the virtual desktop, and carries the obtained file name and path as parameter information in a startup notification message and sends it to the desktop agent;
所述桌面代理程序收到启动通知消息后,通过虚拟桌面协议的传输通道,向部署在所述终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息;After receiving the startup notification message, the desktop agent program sends a notification message carrying the file name and path to the desktop client program deployed locally in the terminal through the transmission channel of the virtual desktop protocol;
所述终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,启动运行终端本地的应用程序。The desktop client program local to the terminal starts and runs the local application program of the terminal according to the application file name and path specified in the parameter information carried in the notification message.
可选地,该方法还包括:所述桌面客户端程序隐藏、或最小化、或嵌入、或融合自身的虚拟桌面窗口。Optionally, the method further includes: the desktop client program hides, or minimizes, or embeds, or integrates its own virtual desktop window.
本发明还提供了一种虚拟机,包括获取模块、创建模块,以及调用模块;其中,The present invention also provides a virtual machine, including an acquisition module, a creation module, and a calling module; wherein,
获取模块,用于获取终端本地桌面上的、指定的快捷方式图标的属性信息;The acquisition module is used to acquire the attribute information of the specified shortcut icon on the local desktop of the terminal;
创建模块,用于在虚拟桌面上创建与指定的快捷方式图标对应的应用的快捷方式图标;The creation module is used to create the shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
调用模块,用于在接收到触发虚拟桌面上的快捷方式图标时,运行安装在终端本地的、该快捷方式图标对应的安装在终端本地的应用。The calling module is configured to run the local application installed on the terminal and corresponding to the shortcut icon installed locally on the terminal when receiving the shortcut icon on the trigger virtual desktop.
可选地,所述创建模块具体用于:桌面代理程序在虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与指定的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。Optionally, the creation module is specifically used for: the desktop agent program creates a shortcut icon on the virtual desktop, and the name of the shortcut icon is the same as the name of the shortcut on the terminal desktop, and is stored correspondingly with the specified shortcut icon. The file name and actual path of the application program stored locally on the terminal corresponding to the shortcut icon; associate the shortcut icon established on the virtual desktop with the specified target stub program.
可选地,所述调用模块具体用于:当从虚拟桌面上对创建好的与指定的快捷方式图标对应的应用对应的快捷方式图标进行操作时,目标存根程序获取该快捷方式图标中保存的对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给桌面代理程序;桌面代理程序收到启动通知消息,通过虚拟桌面协议的传输通道,向部署在所述终端本地的桌面客户端程序发送携带有所述文件名和路径的通知消息。Optionally, the calling module is specifically configured to: when the created shortcut icon corresponding to the application corresponding to the specified shortcut icon is operated from the virtual desktop, the target stub program obtains the saved shortcut icon. The file name and path of the corresponding terminal application, and the obtained file name and path are carried as parameter information in the startup notification message and sent to the desktop agent; the desktop agent receives the startup notification message, and sends to the deployment through the transmission channel of the virtual desktop protocol. The local desktop client program of the terminal sends a notification message carrying the file name and path.
本发明再提供了一种虚拟桌面客户端,至少包括判断模块、处理模块;其中,The present invention further provides a virtual desktop client, which at least includes a judgment module and a processing module; wherein,
判断模块,用于判断出鼠标拖曳操作在虚拟桌面窗口的客户区域内并释放,通知处理模块;The judgment module is used to judge that the mouse drag operation is in the client area of the virtual desktop window and release it, and notify the processing module;
处理模块,用于接收到来自判断模块的通知,获取被拖曳的快捷方式图标对应的文件名;根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;向虚拟机发送通知消息,并携带获得的快捷方式图标的属性信息。The processing module is used to receive the notification from the judgment module, and obtain the file name corresponding to the dragged shortcut icon; according to the obtained file name, obtain the attribute information of the dragged shortcut icon, wherein the attribute information includes all Describe the file name, path and icon information of the target application corresponding to the dragged shortcut icon; send a notification message to the virtual machine, and carry the obtained attribute information of the shortcut icon.
本发明又提供了一种实现应用调用的方法,用于虚拟桌面客户端,包括:The present invention also provides a method for implementing application invocation, which is used for a virtual desktop client, including:
在终端本地的系统桌面上,应用程序在终端本地桌面上对应的所述指定的快捷方式图标被执行拖曳操作;On the local system desktop of the terminal, the designated shortcut icon corresponding to the application program on the local desktop of the terminal is performed a drag operation;
虚拟桌面客户端程序判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放;虚拟桌面客户端程序将被拖曳的快捷方式图标作为指定的快捷方式图标,并获取被拖曳的快捷方式图标对应的文件名;The virtual desktop client program determines whether the mouse drag operation is in the client area of the virtual desktop window and releases it; the virtual desktop client program uses the dragged shortcut icon as the designated shortcut icon, and obtains the corresponding shortcut icon to be dragged the file name;
虚拟桌面客户端程序根据获得的文件名,获取被拖曳的快捷方式图标的属性信息,其中,属性信息包括被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client program obtains attribute information of the dragged shortcut icon according to the obtained file name, wherein the attribute information includes the file name, path and icon information of the target application corresponding to the dragged shortcut icon;
虚拟桌面客户端程序向虚拟机发送通知消息,在通知消息中携带该属性信息。The virtual desktop client program sends a notification message to the virtual machine, and the notification message carries the attribute information.
可选地,该方法还包括:Optionally, the method further includes:
如果所述虚拟桌面客户端程序判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。If the virtual desktop client program determines that the mouse is not dragged into the virtual desktop window area, the process ends.
可选地,所述处理模块还用于:接收来自虚拟机的参数信息;所述桌面客户端程序根据接收到的参数信息中指定的快捷方式图标中保存的对应的终端应用程序的文件名和路径,启动运行终端本地的应用程序。Optionally, the processing module is further configured to: receive parameter information from the virtual machine; the desktop client program is based on the file name and path of the corresponding terminal application stored in the shortcut icon specified in the received parameter information. , which starts the application running locally on the terminal.
与现有技术相比,本申请技术方案包括虚拟机获取指定的快捷方式图标的属性信息;虚拟机在其虚拟桌面上创建与指定的快捷方式图标对应的应用在虚拟桌面的快捷方式图标;当触发虚拟桌面上的快捷方式图标时,运行该快捷方式图标对应的安装在终端本地的应用。本发明方法解决了现有技术中存在的虚拟桌面应用和终端本地应用完全隔离、不能方便的快捷启动的问题和缺点,提供了在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面用户的易用性和便捷度,进一步提高了虚拟桌面在操作和使用方面的自动化水平。Compared with the prior art, the technical solution of the present application includes that the virtual machine obtains the attribute information of the specified shortcut icon; the virtual machine creates on its virtual desktop a shortcut icon corresponding to the specified shortcut icon and is applied on the virtual desktop; When the shortcut icon on the virtual desktop is triggered, the local application installed on the terminal corresponding to the shortcut icon is run. The method of the invention solves the problems and shortcomings of the prior art that the virtual desktop application and the terminal local application are completely isolated and cannot be started conveniently and quickly, and provides a software for quickly establishing an application shortcut between the virtual desktop and the terminal user's local area. The linked technical solution achieves the purpose of directly starting the terminal local application in the virtual desktop without the need to repeatedly switch between the virtual desktop and the terminal local desktop, thus greatly improving the usability and convenience of desktop users. It further improves the automation level in the operation and use of virtual desktops.
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。Other features and advantages of the present invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the description, claims and drawings.
附图说明Description of drawings
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The accompanying drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the attached image:
图1为现有X86架构服务器主机的虚拟化架构和组件框图;Fig. 1 is the virtualization architecture and component block diagram of the existing X86 architecture server host;
图2为现有虚拟桌面的架构和组件框图;Fig. 2 is the architecture and component block diagram of the existing virtual desktop;
图3为本发明实现应用调用的方法的流程图;Fig. 3 is the flow chart of the method for realizing application invocation of the present invention;
图4为本发明实现应用调用的方法实施例中的用户终端的虚拟桌面客户端程序处理流程图;4 is a flowchart of processing a virtual desktop client program of a user terminal in an embodiment of a method for implementing application invocation according to the present invention;
图5为本发明实现应用调用的方法实施例中的虚拟机的桌面代理程序处理流程图;FIG. 5 is a process flow diagram of a desktop agent program of a virtual machine in an embodiment of a method for implementing application invocation according to the present invention;
图6为本发明实现应用调用的方法实施例中的从远端虚拟桌面启动一个本地应用的流程图;6 is a flowchart of starting a local application from a remote virtual desktop in an embodiment of a method for implementing application invocation according to the present invention;
图7为本发明实现应用调用的方法的实施例的流程示意图;7 is a schematic flowchart of an embodiment of a method for implementing application invocation according to the present invention;
图8为本发明从本地终端的系统桌面上拖曳一个快捷方式图标放置到虚拟桌面的示意图;8 is a schematic diagram of the present invention dragging a shortcut icon from the system desktop of the local terminal and placing it on the virtual desktop;
图9为本发明实现应用调用的装置的组成结构示意图。FIG. 9 is a schematic diagram of the composition and structure of an apparatus for implementing application invocation according to the present invention.
具体实施方式Detailed ways
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。In order to make the objectives, technical solutions and advantages of the present invention clearer, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, the embodiments in the present application and the features in the embodiments may be arbitrarily combined with each other if there is no conflict.
本发明中,拖曳是指用鼠标或触摸屏等触发方式拖动的方法,在不同程序的窗口之间、同一程序的不同窗口之间、同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖曳操作是在操作系统的帮助下完成的。被拖曳的对象首先会向操作系统注册它使用的数据格式,并按指定的数据格式提供数据。拖曳操作结束时,接收被拖曳的对象的程序窗口,按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。本发明在终端桌面和虚拟桌面之间拖曳应用程序的快捷方式图标是基于操作系统支持的鼠标拖曳机制的。In the present invention, dragging refers to a method of dragging by triggering methods such as a mouse or a touch screen, and moving, copying and Techniques for operations such as pasting. The drag operation is done with the help of the operating system. The dragged object first registers the data format it uses with the operating system and provides data in the specified data format. When the drag operation ends, the program window that receives the dragged object extracts the relevant data according to the specified data format, and generates the corresponding object according to the extracted data. In the present invention, the shortcut icon for dragging the application program between the terminal desktop and the virtual desktop is based on the mouse dragging mechanism supported by the operating system.
本发明实现的核心思想是:利用操作系统支持的鼠标拖曳机制和部署在用户终端的桌面客户端(用于访问远端虚拟机桌面的程序组件),检测用户在终端系统桌面上拖拽快捷方式图标的操作,当快捷方式图标被拖拽到虚拟桌面内时,虚拟桌面客户端程序作为接收被拖曳的快捷方式图标的程序窗口,通过虚拟桌面协议的传输通道、或套接字(Socket)等方式,将提取的快捷方式图标的相关属性信息发送给虚拟机中的桌面代理,桌面代理在虚拟桌面内也建立一个被拖曳的快捷方式图标对应的应用在虚拟桌面的快捷方式图标,并建立该快捷方式图标和目标存根程序的关联关系,从而实现了从远端的虚拟桌面(云桌面)调用一个终端本地的应用程序。The core idea of the present invention is to use the mouse dragging mechanism supported by the operating system and the desktop client (the program component used to access the remote virtual machine desktop) deployed on the user terminal to detect the user dragging shortcuts on the desktop of the terminal system. Icon operation, when the shortcut icon is dragged into the virtual desktop, the virtual desktop client program acts as the program window that receives the dragged shortcut icon, through the transmission channel of the virtual desktop protocol, or socket (Socket), etc. method, send the relevant attribute information of the extracted shortcut icon to the desktop agent in the virtual machine, and the desktop agent also creates a shortcut icon corresponding to the dragged shortcut icon in the virtual desktop, and establishes the shortcut icon in the virtual desktop. The association relationship between the shortcut icon and the target stub program realizes calling a local application program of a terminal from a remote virtual desktop (cloud desktop).
需要说明的是,除了拖曳的方式,还可以通过直接在虚拟机创建快捷方式图标,然后再通过手动建立创建的快捷方式图标与终端本地指定快捷方式图标的对应关系,具体实现对于本领域技术人员来说是容易实现的,这里不再赘述。It should be noted that, in addition to the dragging method, a shortcut icon can also be created directly in the virtual machine, and then the corresponding relationship between the created shortcut icon and the locally specified shortcut icon of the terminal can be manually established. It is easy to implement, and will not be repeated here.
对于不合适安装在虚拟机中的应用程序,可以将其安装在终端本地运行,一方面,减轻了虚拟桌面的负荷,充分利用了终端本地的软硬件资源;另一方面,增加了工程部署的灵活性,满足了某些特定软件在终端本地运行的实时性和性能要求。本发明提供的技术方案允许用户将终端桌面上的某个应用程序的快捷方式图标,通过触发如鼠标或触摸屏操作,直接拖入到虚拟机的虚拟桌面上,建立起虚拟桌面上的快捷方式和终端应用程序之间的链接关系,从而快速实现了直接从云桌面中启动运行终端本地的应用。通过本发明提供的技术方案,实现了从虚拟桌面(云桌面)中发现某个终端应用并能快速运行的需求,而且不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面易用性。For applications that are not suitable to be installed in the virtual machine, they can be installed and run locally on the terminal. On the one hand, the load of the virtual desktop is reduced, and the local software and hardware resources of the terminal are fully utilized; The flexibility meets the real-time and performance requirements of some specific software running locally on the terminal. The technical solution provided by the present invention allows the user to directly drag the shortcut icon of a certain application on the terminal desktop to the virtual desktop of the virtual machine by triggering operations such as a mouse or a touch screen, so as to establish a shortcut and a shortcut on the virtual desktop. The link relationship between the terminal applications, so that the local application of the terminal can be started and run directly from the cloud desktop. Through the technical solution provided by the present invention, the requirement of finding a terminal application from the virtual desktop (cloud desktop) and running it quickly is realized, and there is no need to repeatedly switch between the virtual desktop and the terminal local desktop, thereby greatly improving the Desktop ease of use.
图3为本发明实现应用调用的方法的流程图,如图3所示,包括:Fig. 3 is the flow chart of the method for realizing application invocation of the present invention, as shown in Fig. 3, including:
步骤300:虚拟机获取指定的快捷方式图标的属性信息。Step 300: The virtual machine acquires attribute information of the specified shortcut icon.
本步骤具体包括:在用户终端本地的系统桌面上,当用户拖曳应用程序在终端本地桌面上对应的快捷方式图标,如*.lnk文件时,安装并运行在用户终端的虚拟桌面客户端程序将进行相应处理,图4为本发明实现应用调用的方法实施例中的用户终端的虚拟桌面客户端程序处理流程图,如图4所示,包括:This step specifically includes: on the local system desktop of the user terminal, when the user drags the shortcut icon corresponding to the application program on the local desktop of the terminal, such as a *.lnk file, the virtual desktop client program installed and running on the user terminal will Corresponding processing is performed, and FIG. 4 is a flowchart of processing a virtual desktop client program of a user terminal in an embodiment of a method for implementing application invocation of the present invention, as shown in FIG. 4 , including:
步骤400:初始化并映射Windows的鼠标拖曳消息处理函数,具体实现属于本领域技术人员的惯用技术手段,这里不再赘述。Step 400 : Initialize and map the mouse drag message processing function of Windows, and the specific implementation belongs to the conventional technical means of those skilled in the art, and will not be repeated here.
步骤401~步骤402:虚拟桌面客户端程序通过Windows的鼠标拖曳消息处理函数进行跟踪和检测,并判断鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放,如果是,进入步骤403;否则,结束。
其中,如何判断鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放的实现,属于根据微软Windows系统提供的Win32应用编程接口(即API)可实现的一种软件编程技术,具体方法可参考图7中的步骤701。这里不再赘述。Among them, the realization of how to judge whether the mouse drag operation is in the client area of the virtual desktop window and released belongs to a software programming technology that can be realized according to the Win32 application programming interface (ie API) provided by the Microsoft Windows system. Step 701 in 7. I won't go into details here.
步骤403:如果鼠标拖曳到虚拟桌面窗口区域内,并且结束拖曳操作释放鼠标按键,则确定用户执行的是从终端桌面向虚拟桌面内拖曳快捷方式图标的操作,虚拟桌面客户端程序获取被拖曳的快捷方式图标对应的文件名,Step 403: If the mouse is dragged into the virtual desktop window area, and the mouse button is released after the drag operation is completed, then it is determined that the user performs an operation of dragging the shortcut icon from the terminal desktop to the virtual desktop, and the virtual desktop client program obtains the dragged icon. The file name corresponding to the shortcut icon,
步骤404:调用Windows系统提供的组件对象模型(COM)接口,根据快捷方式对应的文件名获取快捷方式图标的属性信息。其中,属性信息至少包括快捷方式图标对应的目标应用程序的文件名、路径、图标等信息。Step 404: Invoke a Component Object Model (COM) interface provided by the Windows system, and acquire attribute information of the shortcut icon according to the file name corresponding to the shortcut. The attribute information at least includes information such as the file name, path, and icon of the target application program corresponding to the shortcut icon.
步骤405:虚拟桌面客户端程序向虚拟机内部发送通知消息,并携带获得的快捷方式图标的属性信息。Step 405: The virtual desktop client program sends a notification message to the inside of the virtual machine, and carries the obtained attribute information of the shortcut icon.
除了上述拖曳的方式,还可以通过直接在虚拟机创建快捷方式图标,然后再通过手动建立创建的快捷方式图标与终端本地指定快捷方式图标的对应关系,具体实现这里不再赘述。In addition to the above method of dragging, a shortcut icon can also be created directly in the virtual machine, and then the corresponding relationship between the created shortcut icon and the terminal's local designated shortcut icon can be manually established. The specific implementation will not be repeated here.
进一步地,如果鼠标未拖曳到虚拟桌面窗口区域内,说明未在虚拟桌面的窗口区域内释放鼠标拖曳操作,虚拟桌面客户端程序不做任何处理,结束本次对鼠标拖曳事件的跟踪和检测。Further, if the mouse is not dragged into the virtual desktop window area, it means that the mouse drag operation is not released in the virtual desktop window area, the virtual desktop client program does not do any processing, and ends the tracking and detection of the mouse drag event.
其中,虚拟桌面客户端程序是指安装、部署并运行在用户电子设备终端上,用于访问远端的虚拟机及虚拟桌面的程序组件,一般呈现为一个窗口应用程序。The virtual desktop client program refers to a program component installed, deployed and run on the terminal of the user electronic equipment and used to access the remote virtual machine and virtual desktop, generally presented as a window application.
步骤301:虚拟机在其虚拟桌面上创建与指定的快捷方式图标对应的应用的快捷方式图标。Step 301: The virtual machine creates a shortcut icon of an application corresponding to the specified shortcut icon on its virtual desktop.
图5为本发明实现应用调用的方法实施例中的虚拟机的桌面代理程序处理流程图,如图5所示,步骤301具体包括:FIG. 5 is a flowchart of processing a desktop agent program of a virtual machine in an embodiment of a method for implementing application invocation of the present invention. As shown in FIG. 5 , step 301 specifically includes:
步骤500~步骤501:部署在虚拟机内部的桌面代理程序以后台服务方式运行,接收到来自虚拟桌面客户端程序的通知消息后,保存其中携带的属性信息,如快捷方式名称、对应的安装在终端本地的目标应用程序的路径、文件名等。这样桌面代理程序就知道此时终端用户进行了一次拖曳操作,而且希望将终端本地桌面上的快捷方式拖曳到远端虚拟机的虚拟桌面上;
步骤502:桌面代理程序通过调用Windows系统提供的组件对象模型(COM)接口,在虚拟机的桌面上创建一个快捷方式图标。该快捷方式图标的名称和终端桌面上的快捷方式的名称相同,该快捷方式图标可以使用Windows系统提供的远端应用图标,并对应保存与被拖曳的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;Step 502: The desktop agent program creates a shortcut icon on the desktop of the virtual machine by calling the Component Object Model (COM) interface provided by the Windows system. The name of the shortcut icon is the same as the name of the shortcut on the terminal desktop. The shortcut icon can use the remote application icon provided by the Windows system, and correspondingly save the application stored locally on the terminal corresponding to the dragged shortcut icon The filename and actual path of the program;
步骤503:将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。Step 503: Associate the shortcut icon established on the virtual desktop with the specified target stub program.
本领域技术人员知道,目标存根程序和桌面代理程序,均预先部署到虚拟机内部,以Windows后台服务的方式运行。Those skilled in the art know that the target stub program and the desktop agent program are both pre-deployed inside the virtual machine and run as Windows background services.
需要说明的是,本步骤中,快捷方式图标可以使用Windows系统提供的远端应用图标,当然,桌面代理程序也可以通过获取终端桌面的终端应用程序的图标文件或图标数据,使得虚拟桌面中创建的快捷方式使用一个和终端应用程序的快捷方式图标完全一致的快捷方式图标,从而进一步增强了用户体验和易用性。It should be noted that, in this step, the shortcut icon can use the remote application icon provided by the Windows system. Of course, the desktop agent can also obtain the icon file or icon data of the terminal application of the terminal desktop, so that the virtual desktop can be created in the virtual desktop. The shortcuts of the terminal application use a shortcut icon exactly the same as the shortcut icon of the terminal application, which further enhances the user experience and ease of use.
其中,桌面代理程序是指安装、部署并运行在虚拟机中的一个后台服务程序,用于消息交互处理、对象创建和关联等流程。目标存根程序则类似桌面代理程序,也是安装、运行在虚拟机内部的一个后台服务程序,完成消息接收、封装和转发的功能。The desktop agent program refers to a background service program that is installed, deployed and run in the virtual machine, and is used for processes such as message interaction processing, object creation and association. The target stub program is similar to the desktop agent program, and is also a background service program installed and running inside the virtual machine to complete the functions of message reception, encapsulation and forwarding.
步骤302:当当虚拟机接收触发虚拟桌面上的快捷方式图标时,运行该快捷方式图标对应的安装在终端本地的应用。Step 302: When the virtual machine receives the trigger icon on the shortcut icon on the virtual desktop, run the application installed locally on the terminal corresponding to the shortcut icon.
图6为本发明实现应用调用的方法实施例中的从远端虚拟桌面启动一个本地应用的流程图,如图6所示,步骤302具体包括:FIG. 6 is a flowchart of starting a local application from a remote virtual desktop in an embodiment of a method for implementing application invocation of the present invention. As shown in FIG. 6 , step 302 specifically includes:
步骤600:当用户从虚拟桌面上双击创建好的与被拖曳的快捷方式图标对应的应用对应的快捷方式图标时,表明触发已关联的目标存根程序运行。Step 600: When the user double-clicks the created shortcut icon corresponding to the application corresponding to the dragged shortcut icon from the virtual desktop, it indicates that the associated target stub program is triggered to run.
步骤601:目标存根程序先获取该快捷方式图标中保存的对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给桌面代理程序,希望启动该终端应用。Step 601: The target stub program first obtains the file name and path of the corresponding terminal application stored in the shortcut icon, carries the obtained file name and path as parameter information in a startup notification message and sends it to the desktop agent program, hoping to start the terminal application.
步骤602:桌面代理程序收到启动通知消息后,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送通知消息,携带上述参数信息。Step 602: After receiving the startup notification message, the desktop agent program sends a notification message to the desktop client program deployed locally on the user terminal through the transmission channel of the virtual desktop protocol, carrying the above parameter information.
步骤603:终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,通过现有的Win32API接口启动运行终端本地的应用程序。Step 603: The desktop client program local to the terminal starts and runs the local application program of the terminal through the existing Win32API interface according to the application file name and path specified in the parameter information carried in the notification message.
进一步地,还包括步骤604:桌面客户端程序使自身的虚拟桌面窗口隐藏或最小化,以便使终端本地的应用程序的窗口或界面能在虚拟桌面窗口之上运行(或实现父子窗口的嵌入、融合),避免了被虚拟桌面的窗口覆盖或遮挡,增强了易用效果。其中,如何实现窗口的隐藏、最小化、嵌入或融合等属于本领域技术人员的公知常识,具体实现并不用于限定本发明的保护范围,这里不再赘述。Further,
本发明方法与现有技术相比,解决了现有技术中存在的虚拟桌面应用和终端本地应用完全隔离、不能方便的快捷启动的问题和缺点,提供了在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换,从而极大提升了桌面用户的易用性和便捷度,进一步提高了虚拟桌面在操作和使用方面的自动化水平。Compared with the prior art, the method of the present invention solves the problems and shortcomings of the prior art that the virtual desktop application and the terminal local application are completely isolated and cannot be started conveniently and quickly, and provides a connection between the virtual desktop and the local terminal user. The technical solution of quickly establishing application shortcut soft links achieves the purpose of directly starting the terminal local application in the virtual desktop without the need to repeatedly switch between the virtual desktop and the terminal local desktop, thus greatly improving the desktop user's experience. The ease of use and convenience further improves the automation level of the operation and use of virtual desktops.
图7为本发明实现应用调用的方法的实施例的流程示意图,本实施例中,假设硬件部分由X86服务器主机、用户终端如瘦客户端、PC机或笔记本电脑等组成。结合图8中的虚线箭头所示,当用户从本地终端的系统桌面上,拖曳一个快捷方式图标,放置到虚拟桌面(远端虚拟机的桌面)内时,如图7所示,包括:7 is a schematic flowchart of an embodiment of a method for implementing application invocation according to the present invention. In this embodiment, it is assumed that the hardware part consists of an X86 server host, a user terminal such as a thin client, a PC or a notebook computer. Combined with the dotted arrow in Figure 8, when the user drags a shortcut icon from the system desktop of the local terminal and places it on the virtual desktop (the desktop of the remote virtual machine), as shown in Figure 7, it includes:
步骤700:在现有虚拟桌面提供的虚拟桌面客户端程序,如VDClient.exe基础上,增加支持鼠标拖曳的功能,包括:在虚拟桌面客户端程序窗口创建或初始化时,调用Win32API函数DragAcceptFiles,或通过Windows集成开发环境设置窗口的Accept Files属性,使虚拟桌面客户端程序窗口允许接收拖曳文件的操作。映射Windows消息WM_DROPFILES,在消息处理函数OnDropFiles中处理鼠标拖曳事件。Step 700: On the basis of the virtual desktop client program provided by the existing virtual desktop, such as VDClient.exe, add the function of supporting mouse dragging, including: when the virtual desktop client program window is created or initialized, calling the Win32API function DragAcceptFiles, or Set the Accept Files property of the window through the Windows IDE to enable the virtual desktop client program window to accept the operation of dragging and dropping files. Map the Windows message WM_DROPFILES, and handle the mouse drag event in the message processing function OnDropFiles.
步骤701:调用Win32API函数GetClientRect获取虚拟桌面窗口客户区的坐标,再调用ClientToScreen函数,将获得的虚拟桌面客户区的坐标转换到屏幕坐标系;调用Win32API函数DragQueryPoint获取当拖曳操作结束、鼠标松开时的指针位置坐标,从而判断被拖曳的快捷方式图标是否落在虚拟桌面客户端程序的窗口矩形区域内。Step 701: Call the Win32API function GetClientRect to obtain the coordinates of the client area of the virtual desktop window, and then call the ClientToScreen function to convert the obtained coordinates of the virtual desktop client area to the screen coordinate system; call the Win32API function DragQueryPoint to obtain when the drag operation ends and the mouse is released to determine whether the dragged shortcut icon falls within the rectangular area of the window of the virtual desktop client program.
步骤702:如果检测到拖放完成、松开鼠标,且被拖曳的快捷方式图标落在桌面客户端窗口矩形区域内时,在OnDropFiles消息处理函数中,调用Win32API函数DragQueryFile获取被拖放的快捷方式的文件名和路径并保存;然后,通过引用COM组件的IWshRuntimeLibrary函数,创建WshShell和IWshShortcut对象,获取该快捷方式的各种属性,包括该快捷方式在终端对应的目标应用程序的安装路径和文件名。Step 702: If it is detected that the drag and drop is completed, the mouse is released, and the dragged shortcut icon falls within the rectangular area of the desktop client window, in the OnDropFiles message processing function, the Win32API function DragQueryFile is called to obtain the dragged shortcut Then, create WshShell and IWshShortcut objects by referring to the IWshRuntimeLibrary function of the COM component, and obtain various properties of the shortcut, including the installation path and file name of the target application corresponding to the shortcut in the terminal.
进一步地,如果拖放完成、松开鼠标时,被拖曳的快捷方式图标没有落在桌面客户端窗口矩形区域内,在OnDropFiles消息处理函数中,直接调用DragFinish函数释放系统分配的内存并结束即可。Further, if the dragged shortcut icon does not fall within the rectangular area of the desktop client window when the drag and drop is completed and the mouse is released, in the OnDropFiles message processing function, directly call the DragFinish function to release the memory allocated by the system and end. .
步骤703:通过虚拟桌面协议的传输通道和VDI接口,将被拖曳的快捷方式图标对应的名称、终端目标应用程序的路径和文件名等信息,发送给虚拟机中的桌面代理程序,告知桌面代理程序在虚拟机桌面上也创建一个相对应的快捷方式。Step 703: Send information such as the name corresponding to the dragged shortcut icon, the path and file name of the terminal target application to the desktop agent in the virtual machine, and inform the desktop agent through the transmission channel and VDI interface of the virtual desktop protocol. The program also creates a corresponding shortcut on the virtual machine desktop.
步骤705:在现有虚拟桌面提供的桌面代理程序,如VDAgent.exe的基础上,增加消息处理功能,创建桌面快捷方式并关联目标存根程序:按照虚拟桌面协议传输通道的VDI接口规范,接收来自虚拟桌面客户端程序消息并处理,保存收到的快捷方式图标的名称,及其对应的终端目标应用程序的路径和文件名等消息数据;通过引用COM组件IWshRuntimeLibrary,声明操作对象WshShell,调用CreateShortcut方法创建Windows桌面快捷方式的IWshShortcut对象;指定该快捷方式图标关联的目标存根程序路径(TargetPath)、文本参数(Arguments)、浮动描述(Description)、全局热键(Hotkey)、图标位置(IconLocation)等属性,调用已有的Save方法,保存并完成快捷方式图标在虚拟桌面的创建。Step 705: On the basis of the desktop agent program provided by the existing virtual desktop, such as VDAgent.exe, add a message processing function, create a desktop shortcut and associate the target stub program: According to the VDI interface specification of the virtual desktop protocol transmission channel, receive the Virtual desktop client program message and processing, save the name of the received shortcut icon, and the corresponding message data such as the path and file name of the terminal target application; by referring to the COM component IWshRuntimeLibrary, declare the operation object WshShell, and call the CreateShortcut method Create the IWshShortcut object of the Windows desktop shortcut; specify the target stub program path (TargetPath), text parameters (Arguments), floating description (Description), global hotkey (Hotkey), icon location (IconLocation) and other attributes associated with the shortcut icon , call the existing Save method, save and complete the creation of the shortcut icon on the virtual desktop.
步骤706:当用户在虚拟桌面内双击被拖曳的快捷方式图标,会从远端虚拟机的桌面上启动终端本地对应的应用程序时。Step 706: When the user double-clicks the dragged shortcut icon in the virtual desktop, the application program corresponding to the terminal locally is started from the desktop of the remote virtual machine.
步骤707:目标存根程序部署在虚拟机内,以Windows后台服务的方式运行。目标存根程序调用PostMessage通知桌面代理程序,携带与快捷方式图标对应的终端本地应用程序的路径和文件名信息,告知需要启动该终端本地应用。Step 707: The target stub program is deployed in the virtual machine and runs as a Windows background service. The target stub program calls PostMessage to notify the desktop agent program, carries the path and file name information of the terminal local application program corresponding to the shortcut icon, and informs that the terminal local application needs to be started.
步骤708~步骤709:桌面代理程序:通过虚拟桌面协议的传输通道,按照VDI接口规范,携带与快捷方式图标对应的终端本地应用程序的路径和文件名信息,通知客户端程序启动一个该终端本地应用。Steps 708 to 709: desktop agent program: through the transmission channel of the virtual desktop protocol, according to the VDI interface specification, carry the path and file name information of the terminal local application program corresponding to the shortcut icon, and notify the client program to start a terminal local application program. application.
步骤710:桌面客户端窗口程序,使用ShellExecute或CreateProcess的方法,根据收到的与快捷方式图标对应的终端本地应用程序的路径和文件名,最终启动运行终端本地的一个应用程序。Step 710: The desktop client window program finally starts and runs an application local to the terminal according to the received path and file name of the terminal local application corresponding to the shortcut icon by using the method of ShellExecute or CreateProcess.
步骤711:桌面客户端窗口程序,调用ShowWindow,将自身的桌面窗口隐藏(SW_HIDE)或最小化(SW_MINIMIZE),或实现父子窗口的嵌入、融合,避免了遮挡或覆盖到终端本地应用程序运行时弹出的窗口或界面。Step 711: The desktop client window program calls ShowWindow, hides (SW_HIDE) or minimizes (SW_MINIMIZE) its own desktop window, or implements the embedding and fusion of parent and child windows, avoiding occlusion or coverage to the terminal and popping up when the local application is running window or interface.
需要说明的是,图7所示实施例中所采用的函数可以沿用现有技术中的函数,或重新定义,具体实现属于本领技术人员的惯用技术手段,这里强调的是,在虚拟桌面中和终端用户本地之间快速建立应用程序快捷方式软链接的技术方案,达到了在虚拟桌面内直接启动终端本地应用程序的目的,而不需要在虚拟桌面和终端本地桌面之间反复切换。It should be noted that, the functions used in the embodiment shown in FIG. 7 may follow the functions in the prior art, or be redefined, and the specific implementation belongs to the conventional technical means of those skilled in the art. It is emphasized here that in the virtual desktop and The technical solution for quickly establishing application shortcut soft links locally between terminal users achieves the purpose of directly starting the terminal local application in the virtual desktop without repeatedly switching between the virtual desktop and the terminal local desktop.
图9为本发明虚拟机的组成结构示意图,如图9所示,包括获取模块、创建模块,以及调用模块;其中,FIG. 9 is a schematic diagram of the composition structure of the virtual machine of the present invention, as shown in FIG. 9 , including an acquisition module, a creation module, and a calling module; wherein,
获取模块,用于获取指定的如被拖曳的快捷方式图标的属性信息;The acquisition module is used to acquire the specified attribute information such as the dragged shortcut icon;
创建模块,用于在虚拟桌面上创建与指定的快捷方式图标对应的应用的快捷方式图标;The creation module is used to create the shortcut icon of the application corresponding to the specified shortcut icon on the virtual desktop;
调用模块,用于在接收到触发虚拟桌面上的快捷方式图标时,运行该快捷方式图标对应的安装在终端本地的应用。The calling module is used to run the local application installed on the terminal corresponding to the shortcut icon when the shortcut icon on the trigger virtual desktop is received.
其中,in,
创建模块具体用于:桌面代理程序接收到通知消息后,保存其中携带的属性信息;桌面代理程序在虚拟桌面上创建一个快捷方式图标,该快捷方式图标的名称和所述终端桌面上的快捷方式的名称相同,并对应保存与指定的快捷方式图标对应的存储在终端本地的应用程序的文件名和实际路径;将虚拟桌面上建立的快捷方式图标关联到指定的目标存根程序上。The creation module is specifically used to: after the desktop agent program receives the notification message, save the attribute information carried in it; the desktop agent program creates a shortcut icon on the virtual desktop, the name of the shortcut icon and the shortcut on the terminal desktop and save the file name and actual path of the application stored locally on the terminal corresponding to the specified shortcut icon; associate the shortcut icon established on the virtual desktop with the specified target stub program.
调用模块具体用于:当用户从虚拟桌面上双击创建好的与指定的快捷方式图标对应的应用对应的快捷方式图标时,目标存根程序获取该快捷方式图标中保存的对应的终端应用程序的文件名和路径,将获得的文件名和路径作为参数信息携带在启动通知消息中发送给桌面代理程序;桌面代理程序收到启动通知消息,通过虚拟桌面协议的传输通道,向部署在用户终端本地的桌面客户端程序发送通知消息,携带上述参数信息。这样,终端本地的桌面客户端程序,根据通知消息中携带的参数信息中指定的应用程序文件名和路径,通过现有的Win32API接口启动运行终端本地的应用程序。The calling module is specifically used for: when the user double-clicks the created shortcut icon corresponding to the application corresponding to the specified shortcut icon from the virtual desktop, the target stub program obtains the file of the corresponding terminal application saved in the shortcut icon Name and path, carry the obtained file name and path as parameter information in the startup notification message and send it to the desktop agent program; the desktop agent program receives the startup notification message and sends it to the desktop client deployed locally on the user terminal through the transmission channel of the virtual desktop protocol. The terminal program sends a notification message, which carries the above parameter information. In this way, the local desktop client program of the terminal starts and runs the local application program of the terminal through the existing Win32API interface according to the application file name and path specified in the parameter information carried in the notification message.
图10为本发明虚拟桌面客户端的组成结构示意图,如图10所示,至少包括判断模块、处理模块;其中,FIG. 10 is a schematic diagram of the composition structure of the virtual desktop client according to the present invention. As shown in FIG. 10 , it at least includes a judgment module and a processing module; wherein,
判断模块,用于判断出鼠标拖曳操作在虚拟桌面窗口的客户区域内并释放,通知处理模块;The judgment module is used to judge that the mouse drag operation is in the client area of the virtual desktop window and release it, and notify the processing module;
处理模块,用于接收到通知,获取被拖曳的快捷方式图标对应的文件名;根据获得的文件名,获取所述被拖曳的快捷方式图标的属性信息,其中,属性信息包括所述被拖曳的快捷方式图标对应的目标应用程序的文件名、路径、图标信息;向虚拟机发送通知消息,并携带获得的快捷方式图标的属性信息。a processing module, configured to receive the notification and obtain the file name corresponding to the dragged shortcut icon; according to the obtained file name, obtain attribute information of the dragged shortcut icon, wherein the attribute information includes the dragged shortcut icon File name, path, and icon information of the target application corresponding to the shortcut icon; send a notification message to the virtual machine, and carry the obtained attribute information of the shortcut icon.
本发明还公开了一种实现应用调用的方法,用于虚拟桌面客户端,包括:The invention also discloses a method for realizing application calling, which is used for virtual desktop client, including:
在终端本地的系统桌面上,应用程序在终端本地桌面上对应的所述指定的快捷方式图标执行拖曳操作;On the local system desktop of the terminal, the application performs a drag operation on the designated shortcut icon corresponding to the local desktop of the terminal;
虚拟桌面客户端判断出鼠标拖曳操作是否在虚拟桌面窗口的客户区域内并释放;虚拟桌面客户端程序将被拖曳的快捷方式图标作为指定的快捷方式图标,并获取被拖曳的快捷方式图标对应的文件名;The virtual desktop client determines whether the mouse drag operation is in the client area of the virtual desktop window and releases it; the virtual desktop client program uses the dragged shortcut icon as the specified shortcut icon, and obtains the corresponding shortcut icon to be dragged. file name;
虚拟桌面客户端根据获得的文件名,获取被拖曳的快捷方式图标的属性信息,其中,属性信息包括被拖曳的快捷方式图标对应的目标应用程序的文件名、路径和图标信息;The virtual desktop client obtains attribute information of the dragged shortcut icon according to the obtained file name, wherein the attribute information includes the file name, path and icon information of the target application program corresponding to the dragged shortcut icon;
虚拟桌面客户端向虚拟机发送通知消息,在通知消息中携带该属性信息。The virtual desktop client sends a notification message to the virtual machine, and the notification message carries the attribute information.
可选地,该方法还包括,如果虚拟桌面客户端判断出鼠标未拖曳到虚拟桌面窗口区域内,结束本流程。Optionally, the method further includes, if the virtual desktop client determines that the mouse is not dragged into the virtual desktop window area, ending the process.
可选地,处理模块还用于:接收来自虚拟机的参数信息;桌面客户端程序根据接收到的参数信息中指定的快捷方式图标中保存的对应的终端应用程序的文件名和路径,启动运行终端本地的应用程序。Optionally, the processing module is also used to: receive parameter information from the virtual machine; the desktop client program starts and runs the terminal according to the file name and path of the corresponding terminal application stored in the shortcut icon specified in the received parameter information. local application.
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred examples of the present invention, and are not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims (11)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410802798.1A CN104536802B (en) | 2014-12-19 | 2014-12-19 | A method and virtual machine for realizing application invocation |
| PCT/CN2015/076794 WO2016095383A1 (en) | 2014-12-19 | 2015-04-16 | Method for implementing application call and virtual machine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410802798.1A CN104536802B (en) | 2014-12-19 | 2014-12-19 | A method and virtual machine for realizing application invocation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104536802A CN104536802A (en) | 2015-04-22 |
| CN104536802B true CN104536802B (en) | 2021-05-04 |
Family
ID=52852334
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201410802798.1A Active CN104536802B (en) | 2014-12-19 | 2014-12-19 | A method and virtual machine for realizing application invocation |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN104536802B (en) |
| WO (1) | WO2016095383A1 (en) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105141608B (en) * | 2015-08-25 | 2018-09-11 | 浪潮(北京)电子信息产业有限公司 | The safety i.e. system and method for service are provided in a kind of cloud operating system |
| CN107391161B (en) * | 2016-05-17 | 2020-07-07 | 阿里巴巴集团控股有限公司 | JavaScript module installation method and device |
| CN106886447A (en) * | 2017-01-16 | 2017-06-23 | 武汉噢易云计算股份有限公司 | The system and method for 3-D graphic software performance is lifted based on cloud computing |
| CN107256162B (en) * | 2017-06-13 | 2020-12-08 | 时瑞科技(深圳)有限公司 | Desktop management method based on Windows visual characteristics and personalization |
| CN108255547B (en) * | 2017-09-28 | 2021-05-28 | 新华三云计算技术有限公司 | Application control method and device |
| CN109656646B (en) * | 2017-10-11 | 2022-05-24 | 阿里巴巴集团控股有限公司 | Remote desktop control method, device, equipment and virtualization chip |
| CN107783811A (en) * | 2017-11-15 | 2018-03-09 | 北京易讯通信息技术股份有限公司 | A kind of controllable document transmission method in virtual desktop environment |
| CN109960551B (en) * | 2017-12-26 | 2023-03-28 | 中国电信股份有限公司 | Cloud desktop service method, platform and computer readable storage medium |
| WO2019127476A1 (en) * | 2017-12-29 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | Virtual system bluetooth communication method and device, virtual system, storage medium, and electronic apparatus |
| CN108519900B (en) * | 2018-03-28 | 2021-03-09 | 新华三云计算技术有限公司 | Display window control method, device and server |
| CN108769135B (en) * | 2018-05-07 | 2021-01-12 | 广州杰赛科技股份有限公司 | Cloud desktop connection method, device, device and system |
| CN110413365B (en) * | 2019-07-29 | 2022-11-11 | 锐捷网络股份有限公司 | Fusion scheduling method and device |
| CN110457132B (en) * | 2019-08-01 | 2022-08-05 | 武汉斗鱼鱼乐网络科技有限公司 | Method and device for creating functional object and terminal equipment |
| CN110442389B (en) * | 2019-08-07 | 2024-01-09 | 北京技德系统技术有限公司 | Method for sharing GPU (graphics processing Unit) in multi-desktop environment |
| CN110837405B (en) * | 2019-11-04 | 2024-05-24 | 西安雷风电子科技有限公司 | Multi-instance graphic desktop operation and switching method based on container technology |
| CN113542503B (en) * | 2020-03-31 | 2022-07-15 | 华为技术有限公司 | A method, electronic device and system for creating application shortcut |
| CN113543364B (en) * | 2020-04-20 | 2025-02-11 | 阿里巴巴集团控股有限公司 | Proxy service method, screen projection method, terminal device, electronic device and storage medium |
| CN111782318A (en) * | 2020-06-16 | 2020-10-16 | 贵州省广播电视信息网络股份有限公司 | Remote mount local disk to cloud desktop virtual machine shared access system and method |
| CN112099655A (en) * | 2020-10-28 | 2020-12-18 | 深圳市启望科文技术有限公司 | Method and device for realizing mobile office through voice mouse, computer equipment and storage medium |
| CN114519034A (en) * | 2020-11-20 | 2022-05-20 | 华为技术有限公司 | File operation method and related equipment |
| CN112748831A (en) * | 2020-12-23 | 2021-05-04 | 湖南麒麟信安科技股份有限公司 | Method, device and medium for opening virtual application through desktop shortcut |
| CN112783596B (en) * | 2021-02-03 | 2024-04-05 | 广东中兴新支点技术有限公司 | Operating system, method and medium for realizing virtual desktop multitasking view response |
| CN113238691B (en) * | 2021-05-27 | 2024-03-01 | 维沃移动通信(杭州)有限公司 | Application icon management method and device and electronic equipment |
| CN115617223A (en) * | 2021-07-12 | 2023-01-17 | 广州视源电子科技股份有限公司 | Switching control method and device, interactive intelligent panel and storage medium |
| CN113656196B (en) * | 2021-08-16 | 2024-02-27 | 深圳技德应用技术有限公司 | A method and device for transferring files between applications on Linux and Android |
| WO2023056620A1 (en) * | 2021-10-09 | 2023-04-13 | 广州视源电子科技股份有限公司 | Desktop application control method and apparatus, electronic device and storage medium |
| CN113885756A (en) * | 2021-10-21 | 2022-01-04 | 深圳市快易典教育科技有限公司 | Desktop icon adjusting method, system, device and storage medium |
| CN114077367B (en) * | 2021-11-29 | 2024-08-20 | 北京字节跳动网络技术有限公司 | Method and device for realizing android application shortcut in Linux system |
| CN114416239B (en) * | 2021-12-30 | 2023-08-22 | 麒麟软件有限公司 | Method for rapidly displaying Android application message notification on Linux system |
| CN114840351B (en) * | 2022-03-18 | 2024-11-29 | 阿里巴巴(中国)有限公司 | Key event processing method, device, control equipment and readable storage medium |
| CN116016480B (en) * | 2022-12-05 | 2023-09-29 | 杭州未斯科技有限公司 | Flow automatic control method and system based on virtual desktop |
| CN115827135A (en) * | 2022-12-08 | 2023-03-21 | 杭州海康威视数字技术股份有限公司 | Cloud desktop processing method, system, electronic device and readable storage medium |
| CN117093296A (en) * | 2023-07-07 | 2023-11-21 | 福建升腾资讯有限公司 | Cloud desktop application software redirection method and device |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102591671A (en) * | 2011-01-14 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | Method for starting application program in virtual environment |
| CN103442007A (en) * | 2013-08-29 | 2013-12-11 | 成都卫士通信息安全技术有限公司 | Far-end application service accessing method based on virtual desktop control mode |
| CN103677970A (en) * | 2012-09-24 | 2014-03-26 | 北京云端时代科技有限公司 | System and method for achieving combination display of terminal local desktop and far-end virtual desktop |
| CN104216607A (en) * | 2013-09-05 | 2014-12-17 | 侯金涛 | Icon dragging method and system based on HTML5 virtual operation system |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101192129B (en) * | 2006-11-30 | 2012-05-30 | 重庆优腾信息技术有限公司 | Table top background control method and device |
| US8468455B2 (en) * | 2010-02-24 | 2013-06-18 | Novell, Inc. | System and method for providing virtual desktop extensions on a client desktop |
| TW201229902A (en) * | 2011-01-12 | 2012-07-16 | Hon Hai Prec Ind Co Ltd | Method of launching application in VM |
| CN105335176B (en) * | 2014-07-22 | 2019-10-25 | 南京中兴软件有限责任公司 | A kind of method and device for calling the application being installed on electronic equipment |
| CN104202357A (en) * | 2014-08-08 | 2014-12-10 | 深信服网络科技(深圳)有限公司 | Content sharing method and content sharing system |
-
2014
- 2014-12-19 CN CN201410802798.1A patent/CN104536802B/en active Active
-
2015
- 2015-04-16 WO PCT/CN2015/076794 patent/WO2016095383A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102591671A (en) * | 2011-01-14 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | Method for starting application program in virtual environment |
| CN103677970A (en) * | 2012-09-24 | 2014-03-26 | 北京云端时代科技有限公司 | System and method for achieving combination display of terminal local desktop and far-end virtual desktop |
| CN103442007A (en) * | 2013-08-29 | 2013-12-11 | 成都卫士通信息安全技术有限公司 | Far-end application service accessing method based on virtual desktop control mode |
| CN104216607A (en) * | 2013-09-05 | 2014-12-17 | 侯金涛 | Icon dragging method and system based on HTML5 virtual operation system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104536802A (en) | 2015-04-22 |
| WO2016095383A1 (en) | 2016-06-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104536802B (en) | A method and virtual machine for realizing application invocation | |
| US12056513B2 (en) | Virtual machine migration using multiple, synchronized streams of state data transferring via file descriptors | |
| US10976981B2 (en) | Remote desktop exporting | |
| US8788950B2 (en) | Method for providing multiple mouse inputs in a remote desktop session | |
| US8924564B2 (en) | Migration of client-side virtual machine system resources | |
| TWI537827B (en) | Application software trial system, method, server and user device thereof | |
| CA2771785C (en) | A system and method for pervasive computing | |
| US20210006636A1 (en) | Apparatuses and methods for edge computing application deployment in an iot system | |
| CN105335176B (en) | A kind of method and device for calling the application being installed on electronic equipment | |
| CN109308241B (en) | Method, device, terminal device and storage medium for monitoring application startup process | |
| US20140143305A1 (en) | Apparatus and system for providing software service using software virtualization and method thereof | |
| WO2019007216A1 (en) | Graphics layer processing method and device | |
| CN110032413A (en) | A kind of desktop virtualization method, relevant device and computer storage medium | |
| MX2013003427A (en) | REDIRECTION OF CROSSED ENVIRONMENT. | |
| MX2013003515A (en) | Instant remote rendering. | |
| CN105431824A (en) | Multi-platform mobile and other computing devices and methods | |
| US20200192539A1 (en) | System and method for operating system event redirection | |
| WO2023065740A1 (en) | Window display method and apparatus, device, and storage medium | |
| CN107949828B (en) | Method and apparatus for dynamically migrating execution of machine code in an application to a virtual machine | |
| CN108255547B (en) | Application control method and device | |
| US12282792B2 (en) | File copy and paste between local and remote system in virtual desktops via clipboard redirection | |
| US11487559B2 (en) | Dynamically switching between pointer modes | |
| US12455756B2 (en) | Dynamic connection switching in virtual desktops under nested mode | |
| WO2022126815A1 (en) | Internet-based distributed display card calling method and apparatus | |
| US20240020080A1 (en) | Handling local application events while working on remote desktops |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | 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 |
