远程应用和本地系统间的拖拽交互方法及系统技术方案

技术编号:34558594 阅读:12 留言:0更新日期:2022-08-17 12:45
本发明专利技术公开了一种涉及计算机应用技术领域的远程应用和本地系统间的拖拽交互方法及系统。上述的远程应用和本地系统间的拖拽交互方法及系统,通过在服务端对应用窗口进行扩大处理而形成一扩大区域,并且客户端在应用窗口中被选定的对象被拖动至扩大区域时发送消息给服务端,使服务端的代理窗口可以正常终止拖拽行为,同时获取拖拽事件的对象内容并将获取到的对象内容传输给客户端,从而实现通过拖拽行为将远程应用中的对象复制到本地系统的技术效果。术效果。术效果。

【技术实现步骤摘要】
远程应用和本地系统间的拖拽交互方法及系统


[0001]本专利技术涉及计算机应用
,尤其涉及一种远程应用和本地系统间的拖拽交互方法及系统。

技术介绍

[0002]远程应用(又称为应用推送、应用虚拟化)通过网络协议将运行在服务端上的应用程序窗口大小、位置、画面等信息传递到客户端,在客户端创建对应的窗口以实时显示远端窗口画面,并将客户端的键盘鼠标交互消息发送到服务端,在服务端模拟键盘鼠标消息发送给应用程序窗口。远程应用实现了远程服务端中运行的应用程序在客户端上的实时显示和交互,常用于在不同的操作系统上运行应用程序,如在Linux桌面上运行远端服务器Windows系统中的应用程序。
[0003]文件(或其他对象)的拖拽是应用交互中常用的操作,用户可以通过拖拽文件(或其他对象)的方式,将文件复制粘贴(或移动)到指定的位置。但在远程虚拟应用中,由于应用运行在远端,而远程应用在本地操作系统中是以窗口形式显示的,当用户从远程应用中拖动某个对象离开远程应用窗口范围之后,本地系统并不能获取到拖拽的对象,同时客户端将不再发送鼠标消息给服务端,在服务端拖拽的行为也无法正常终止,因此,拖拽交互难以实现。

技术实现思路

[0004]本专利技术所要解决的技术问题在于提供一种远程应用和本地系统间的拖拽交互方法及系统,通过拖拽行为,可以将远程应用中的对象复制到本地系统中。
[0005]为解决上述技术问题,本专利技术采用如下所述的技术方案:
[0006]一种远程应用和本地系统间的拖拽交互方法,其包括有如下步骤:对在服务端上运行的远程应用的应用窗口进行扩大处理,在应用窗口外侧形成有一扩大区域;根据远程虚拟应用协议在客户端显示所述应用窗口和扩大区域;检测在客户端执行的拖拽事件,当检测出客户端的应用窗口中被选定的对象被拖动至扩大区域时,发送拖拽消息至服务端;根据拖拽消息在服务端执行拖拽事件,将服务端应用窗口中被选定的对象被拖动至扩大区域;根据拖拽对象类型,获取在服务端执行的拖拽事件的对象内容,并通过远程虚拟应用协议将获取的对象内容发送至客户端;在客户端模拟产生一个新的拖拽事件,并将客户端接收到的对象内容设置为新的拖拽事件的对象内容。
[0007]一种远程应用和本地系统间的拖拽交互系统,其包括有窗口处理模块、窗口显示模块、第一检测模块、事件执行模块、第一内容获取模块和第一事件产生模块;其中,窗口处理模块设置于服务端上,用于对在服务端上运行的远程应用的应用窗口进行扩大处理,以在应用窗口外侧形成有一扩大区域;窗口显示模块设置于客户端上,用于根据远程虚拟应用协议在客户端显示所述应用窗口和扩大区域;第一检测模块设置于客户端上,用于检测在客户端执行的拖拽事件,当检测出客户端的应用窗口中被选定的对象被拖动至扩大区域
时,发送拖拽消息至服务端;事件执行模块设置于服务端上,用于根据拖拽消息在服务端执行拖拽事件,将服务端应用窗口中被选定的对象被拖动至扩大区域;第一内容获取模块设置于服务端上,用于根据拖拽对象类型,获取在服务端执行的拖拽事件的对象内容,并通过远程虚拟应用协议将获取的对象内容发送至客户端;第一事件产生模块设置于客户端上,用于在客户端模拟产生一个新的拖拽事件,并将客户端接收到的对象内容设置为新的拖拽事件的对象内容。
[0008]本专利技术的有益技术效果在于:上述的远程应用和本地系统间的拖拽交互方法及系统,通过在服务端对应用窗口进行扩大处理而形成一扩大区域,并且客户端在应用窗口中被选定的对象被拖动至扩大区域时发送消息给服务端,使服务端的代理窗口可以正常终止拖拽行为,同时获取拖拽事件的对象内容并将获取到的对象内容传输给客户端,从而实现通过拖拽行为将远程应用中的对象复制到本地系统的技术效果。
附图说明
[0009]图1为本专利技术的远程应用和本地系统间的拖拽交互方法的流程示意图;
[0010]图2为本专利技术的应用窗口进行扩大处理的过程示意图;
[0011]图3为本专利技术的远程应用和本地系统间的拖拽交互过程示意图;
[0012]图4为本专利技术的远程应用和本地系统间的拖拽交互系统的结构示意框图。
具体实施方式
[0013]为使本领域的普通技术人员更加清楚地理解本专利技术的目的、技术方案和优点,以下结合附图和实施例对本专利技术做进一步的阐述。
[0014]如图1所示,在本专利技术一些实施例中,远程应用和本地系统间的拖拽交互方法包括有如下步骤:
[0015]S10、对在服务端上运行的远程应用的应用窗口进行扩大处理,在应用窗口外侧形成有一扩大区域。
[0016]本步骤在服务端上执行。在此之前,客户端会接收到用户点击应用图标的操作,接收到点击操作后,客户端通过远程虚拟应用协议向服务端发送应用打开指令,服务端在接受到客户端发送的应用打开指令后,会根据应用打开指令将对应的应用程序打开。应用程序打开后,服务端会对远程应用的应用窗口进行扩大处理而形成一扩大区域。
[0017]在本实施例中,将远程应用原有的应用窗口的四周边缘向外扩大N(N≥1)个像素,从而在应用窗口外侧形成有一围绕原有的应用窗口四周的扩大区域,如图2中阴影部分所示。当然,在其他实施例中,也可以将扩大区域设置于原有的应用窗口任意一侧、任意两侧、任意三侧或者其他位置。
[0018]S20、根据远程虚拟应用协议在客户端显示所述应用窗口和扩大区域。
[0019]本步骤在客户端上执行。客户端与服务端通过远程虚拟应用协议实现连接,服务端将应用窗口数据(包括大小、位置、画面等信息)和扩大区域数据(包括大小、位置等信息)实时传递给客户端,客户端对应用窗口数据和扩大区域数据进行解析,以窗口形式显示所述应用窗口和扩大区域。
[0020]在本实施例中,服务端以全屏的代理窗口放置所述应用窗口和扩大区域,因此,在
客户端上仅显示所述应用窗口和扩大区域,而不显示服务端的整个系统桌面。当然,在其他实施例中,服务端也可以以非全屏的代理窗口放置所述应用窗口和扩大区域,同时在客户端上显示服务端的整个系统桌面。
[0021]S30、检测在客户端执行的拖拽事件,当检测出客户端的应用窗口中被选定的对象被拖动至扩大区域时,发送拖拽消息至服务端。
[0022]本步骤在客户端上执行,如图3的过程

所示。客户端可以根据用户输入的操作指令,将客户端应用窗口中的某个对象进行选定,并将被选定的对象进行拖动。同时,客户端会对在其上执行的拖拽事件进行实时检测,当检测出客户端的应用窗口中被选定的对象被拖动至扩大区域时,发送拖拽消息(鼠标消息)至服务端。上述过程可以根据本地系统(即客户端系统)接收到的鼠标操作来识别,例如,获取客户端系统的鼠标左键长按操作和长按过程中光标的起始坐标和终止坐标,根据鼠标左键长按操作和长按过程中光标的起始坐标和终止坐标即可判断客户端的应用窗口中被选定的对象是否被拖动至扩大区域。
[0023]S40、根据拖拽消息在服务端执行拖拽事件,将服务端应用窗口中被选定的对象被拖动至扩大区域。
[0024]本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种远程应用和本地系统间的拖拽交互方法,其特征在于,所述远程应用和本地系统间的拖拽交互方法包括有如下步骤:S10、对在服务端上运行的远程应用的应用窗口进行扩大处理,在应用窗口外侧形成有一扩大区域;S20、根据远程虚拟应用协议在客户端显示所述应用窗口和扩大区域;S30、检测在客户端执行的拖拽事件,当检测出客户端的应用窗口中被选定的对象被拖动至扩大区域时,发送拖拽消息至服务端;S40、根据拖拽消息在服务端执行拖拽事件,将服务端应用窗口中被选定的对象被拖动至扩大区域;S50、根据拖拽对象类型,获取在服务端执行的拖拽事件的对象内容,并通过远程虚拟应用协议将获取的对象内容发送至客户端;S60、在客户端模拟产生一个新的拖拽事件,并将客户端接收到的对象内容设置为新的拖拽事件的对象内容。2.如权利要求1所述的远程应用和本地系统间的拖拽交互方法,其特征在于,当拖拽对象为文件时,步骤S50进一步包括:获取文件服务端路径信息,并通过远程虚拟应用协议将该文件服务端路径信息发送至客户端;步骤S60进一步包括:在客户端临时目录中新建一个目录存放文件服务端路径信息,再在客户端模拟产生一个新的拖拽事件,并将目录相应的文件路径设置为新的拖拽事件的对象内容。3.如权利要求1所述的远程应用和本地系统间的拖拽交互方法,其特征在于,所述远程应用和本地系统间的拖拽交互方法还包括有如下步骤:S70、检测在客户端执行的拖拽事件,当检测出客户端被选定的对象被拖动至应用窗口中时,发送拖拽消息至服务端;S80、根据拖拽对象类型,获取在客户端执行的拖拽事件的对象内容,并通过远程虚拟应用协议将获取的对象内容发送至服务端;S90、根据拖拽消息在服务端模拟产生一个拖拽事件,并将服务端接收...

【专利技术属性】
技术研发人员:宗光远
申请(专利权)人:深圳仁云互联网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1