当前位置: 首页 > 专利查询>湖南大学专利>正文

一种针对远程桌面协议的应用窗口去黑框方法技术

技术编号:38710151 阅读:11 留言:0更新日期:2023-09-08 14:53
本发明专利技术属于远程桌面技术领域,尤其是涉及一种针对远程桌面协议RDP中RemoteApp模式下虚拟应用界面的去黑框技术。本发明专利技术的方法包括:测定应用程序标识字段;计算应用程序中出现黑框的窗口的实际可视矩形窗口的相对坐标等信息;建立应用程序的标识

【技术实现步骤摘要】
一种针对远程桌面协议的应用窗口去黑框方法


[0001]本专利技术属于远程桌面
,尤其是涉及一种针对远程桌面协议RDP中RemoteApp模式下虚拟应用界面的去黑框技术。

技术介绍

[0002]随着计算机技术的广泛应用,各种计算机安全问题的出现给企业和机构带来了巨大的风险和挑战。因此,大部分企业和机构自研或使用更加安全的各类硬件、操作系统等。然而,由于软件开发过程中涉及到的硬件、操作系统、编程语言等因素的多样性,主流Windows软件在不同平台的兼容性和适配性问题成为当下面临的难题。为了解决软件的跨平台问题,一种通用的技术解决方案是基于远程桌面协议开发虚拟桌面或虚拟应用。
[0003]远程桌面协议(Remote Desktop Protocol,RDP)用于实现在客户端和服务器之间的远程连接和控制,其基本原理是在客户端和服务器之间建立基于TCP/IP的网络连接,并将远程桌面的图形界面传输到客户端,并接受客户端的输入操作来实现远程控制和管理。
[0004]RemoteAPP是基于远程桌面协议的一种应用程序发布模式,能够让用户在非Windows系统下直接使用远程Windows系统桌面的软件,并且使用体验类似于在本地运行,整个过程中保证数据传输的安全性。由于RemoteAPP模式兼顾灵活性和安全性,因此在适配应用领域广泛应用。
[0005]然而,常见应用如QQ、微信、腾讯会议、爱奇艺等存在透明背景,用户在原系统中使用时无法察觉,而在RemoteAPP模式下,由于远程桌面协议对透明色彩处理的缺陷,应用中透明的背景会被自动设置为黑色,从而导致不同应用传输的远程界面中会出现面积不规则黑色边框,这严重影响应用的界面美观和正常功能。同时,黑色区域的出现导致了挤占其他应用、遮盖本地桌面等问题。
[0006]现阶段大多数解决方案通常是基于远程桌面协议传输整个桌面来避免RemoteAPP模式下存在的黑框问题,但也同样引入了其他的问题:传输整个桌面虽然无需考虑虚拟应用的各种布局和黑框问题,但是这降低了整个解决方案的透明性和安全性,用户可能会使用非期望的系统功能,造成诸如数据泄露、系统崩溃等严峻问题,因此需要厂商严格限制用户在当前系统中的各种权限,增加额外开销。

技术实现思路

[0007]为了解决RemoteAPP模式下应用窗口出现的黑框问题,本专利技术提供了一种基于计算机图形学的黑框处理方法。本方法能够在保证远程桌面协议的正常运作以及兼容各类国产处理器、国产系统的前提下,解决应用程序出现的黑框问题,同时也解决因黑框导致的影响界面美观等问题,有利于优化软件适配方案,提高RemoteAPP模式下用户在远程客户端使用虚拟应用的使用体验。
[0008]本专利技术所述方法包括以下步骤:
[0009]1.标识应用窗口
[0010]远程桌面协议为窗口定义了具有详细信息的结构体,包括了一个窗口的所有关键信息,如窗口左上角相对本地桌面左上角的相对坐标、窗口的长宽、窗口的标题等,也能够获取程序名称及对应程序窗口。然而,在RemoteApp模式下,一切窗口都被默认为是资源管理器的附加窗口,因此我们无法直接通过数据的某一字段获取窗口来源,而且同一应用能够产生多个不同规格的窗口。通过如下步骤唯一标识应用的各个窗口:
[0011](1)在测定某应用相关信息时,记录协议中的窗口结构体的各种字段值,确定唯一标识窗口的字段组合。基本组合为窗口结构体中的两个窗口风格字段组合,作为索引表的一级索引。
[0012](2)当窗口风格字段组合无法确定唯一窗口时,需要给字段组合增加附加信息,例如窗口标题等其他窗口固定信息。由风格字段组合和附加信息分别编码值的元组建立索引,以确保能够唯一索引窗口。
[0013](3)按照两个索引值建立类JSON结构体,一层节点为风格字段编码值作为索引值,其嵌套子层为附加信息字段组合编码值作为索引值,此结构体用来加速判断窗口是否有定制去黑框方法。
[0014](4)将风格字段索引值和附加信息字段索引值组合,编码计算得到窗口唯一索引值,由此建立窗口信息索引表。
[0015]2.测定可视区域
[0016]裁剪黑框需要确定应用程序实际的工作区域,而无需考虑黑框的形状和大小。远程桌面协议建立网络连接实时传输远程桌面信息数据,数据中包含窗口图像的像素颜色等信息。将连接传输的窗口记为S1,用户理应可视区域记为S2,由于黑框的存在,S1>S2。远程桌面协议传输的是S1,系统无法知道S2的几何信息,本阶段通过以下步骤确定S2:
[0017](1)统计待测带黑框窗口的协议字段数据,包括窗口左上角原始坐标和窗口长宽等几何信息。
[0018](2)单独处理每个窗口,通过S1的左上角坐标和长宽,计算得到S1四条边中点的坐标位置,记为a1、b1、c1、d1,同时计算得到S1的中点位置,记为m。
[0019](3)从a1、b1、c1、d1四点向m方向遍历像素点,基于编程语言自带函数库能够获取每个像素点的颜色RGB值,当四个点的颜色值均非黑色时分别停止遍历,得到四个坐标,记为a2、b2、c2、d2。
[0020](4)可知a2、b2、c2、d2分别为S2的四条边上的点。当点为中点时,由四点的信息可以计算得到S2的左上角坐标以及长和宽。当点并非中点时,通过矫正获取相对中点偏移值。两种情况下均能确定S2位置所需几何信息。
[0021](5)将S2几何数据信息存储到第1阶段建立的窗口信息索引表。
[0022]3.窗口区域裁剪
[0023]远程桌面协议中窗口的结构体存在一个自定义矩形类型字段,对应于窗口的可视化区域,记为S3,通过以下步骤实施裁剪:
[0024](1)传入窗口信息,首先计算窗口风格字段组合编码查询索引表中是否存在一级键,存在则进一步单独计算各个字段值的编码值,判断是否存在二级键,直到字段使用完毕结束。存在索引即需要处理窗口,不存在不处理窗口。
[0025](2)定义临时变量存储S3的裁剪结果,即几何性质与S2一致的中间值。
[0026](3)将S3按照索引表中获取的S2几何数据信息对齐,修改S3的左上角坐标x、y以及其长宽。
[0027](4)协议在单独处理窗口中定义了窗口整理方法,将S3数据替换原信息输入,将窗口按照S2信息裁剪。
[0028](5)释放S3内存。
[0029]4.程序定制发布
[0030]由于不同应用程序的黑框的规格不同,满足定制化并不影响远程桌面协议原功能和性能是必要的。根据索引表对应黑框裁剪方法,将方法引用到原远程桌面协议内核中对窗口传输处理的主体下文。由于扩展配置文件造成的I/O消耗对性能的影响是无法忽视的,因此为了不影响用户使用体验,需要提前确定虚拟应用目标和实现定制化处理方法,并建立映射关系。
附图说明
[0031]图1:建立标识

窗口偏移数据索引表流程图
[0032]图2:远程桌面控制协议窗口处理流程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对远程桌面协议的应用窗口去黑框方法,其特征在于实施步骤为:(1)读取协议窗口结构体中应用的坐标、长宽、标题等信息;(2)为带黑框窗口通过窗口风格字段和窗口附加信息建立索引表;(3)计算的带黑框窗口的实际理应可视化窗口区域的几何信息,并存储于表;(4)按照索引表为带黑框窗口定制裁剪方法;(5)将裁剪方法整合至远程桌面协议源码。2.根据权利要求1所述的一种针对远程桌面协议的应用窗口去黑框方法,其特征在于本方法建立多字段编码索引表,步骤(2)包括以下子步骤:(1)读取协议窗口结构体中应用窗口的风格字段、附加信息字段;(2)分别将风格字段和附加信息字段组合编码,获取两个正整数型索引值;(3)按照两个索引值建立类JSON结构体,一层节点为风格字段编码值作为索引值,其嵌套子层为附加信息字段组合编码值作为索引值,此结构体用来加速判断窗口是否有定制去黑框方法;(4)将风格字段索引值和附加信息字段索引值组合,编码计算得到窗口唯一索引值,由此建立实际信息索引表。3.根据权力要求1或2所述的一种针对远程桌面协议的应用窗口去黑框方法,其特征在于本方法基于几何学计算实际窗口几何信息,步骤(3)包括以下子步骤:(1...

【专利技术属性】
技术研发人员:崔秦张谦祥陈浩孙建华
申请(专利权)人:湖南大学
类型:发明
国别省市:

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

1