一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过网格矩阵绘图机制实现云应用专属窗口水印的方法与流程

2021-12-04 02:06:00 来源:中国专利 TAG:


1.本发明涉及云应用前端技术领域,具体来说,涉及通过网格矩阵绘图机制实现云应用专属窗口水印的方法。


背景技术:

2.在基于云虚拟化技术开发的云应用产品软件中,通常需要通过remoteapp机制将远程办公桌面上的应用窗口显示在本地,并提供键盘鼠标等交互手段,实现与本地窗口的完全融合,既满足远程办公的性能体验,又能达到公司业务数据安全的效果。
3.但是由于远程应用窗口与本地窗口完全融为一体,出现在了同一屏幕上;当远程应用窗口需要施加水印进行保护时,如果对整个屏幕施加水印会影响本地窗口,无法区别对待两种不同性质的数据界面。因此如何精确地区分安全保密数据和普通数据,从而仅针对远程应用窗口进行水印绘制,就需要屏幕水印机制具有进一步甄别屏幕上的窗口属性的能力。由于远程应用窗口在使用过程中会被拖动、前置或者后置,与本地窗口产生重叠、覆盖的现象,这就给施加水印的目标窗口的性质甄别带来困难,因此需要更为动态、高效、带有窗口性质识别能力的水印机制,它不同于整屏的常见水印机制,仅针对动态变化的特殊性质窗口。


技术实现要素:

4.针对相关技术中的问题,本发明提出通过网格矩阵绘图机制实现云应用专属窗口水印的方法,以克服现有相关技术所存在的上述技术问题。
5.为此,本发明采用的具体技术方案如下:通过网格矩阵绘图机制实现云应用专属窗口水印的方法,该方法包括以下步骤:s1、通过全屏置顶窗口的网格矩阵绘图方式对屏幕区域进行网格化,并在内存中构建一个矩阵数据结构;s2、检测每个单元网格中心坐标位置所属的窗口性质,并判断其是否有施加或更新水印效果的需求;s3、按照预设需求对指定屏幕区域进行水印绘制,实现云应用专属窗口的水印绘制。
6.进一步的,所述s1中对屏幕区域进行网格化时按照合理的颗粒尺寸执行。
7.进一步的,所述s2中检测每个单元网格中心坐标位置所属的窗口性质还包括以下步骤:检测发现窗口的位置及层次变化,并将保存的网格化处理结果进行实时重新计算,保持高效的动态更新。
8.进一步的,所述s2中更新水印效果的触发时机包括以下三种中的任意一种:第一种,首次启动屏幕水印进程模块,初始化全屏水印窗口;第二种,主动监视屏幕窗口的变化,当发生窗口前置、最大/小化、位置发生变化
时,通过发送窗口事件触发水印更新;第三种,设置定时器,周期性更新当前窗口水印进程。
9.进一步的,所述s3中按照预设需求对指定屏幕区域进行水印绘制采用的函数为:watermark/formwatermark.cs:updatewatermark。
10.进一步的,所述s3中按照预设需求对指定屏幕区域进行水印绘制包括以下步骤:更新屏幕网格数据,并依次遍历每个单元网格的中心点,获取位于该中心点上的窗口句柄;判断窗口是否属于远程应用窗口,并记录该中心点的窗口性质与上次相比是否发生过变化;当发生网格矩阵变化则将预先制备的完整水印图案克隆一份,并在克隆后的水印图案上按照网格标识的变化将不需要水印的单元网格中的水印擦除,保留需要水印的单元网格;让水印窗口失效,并触发操作系统重新绘制窗口。
11.进一步的,所述窗口句柄的获取方法包括:使用findwindow函数获取窗口句柄、获取所有顶层窗口以及它们的子窗口及使用getdesktopwindow和getnextwindow函数获取所有的子窗口。
12.进一步的,所述预先制备的完整水印图案的生成方法包括以下步骤:水印窗口获取终端上传的水印生成请求和应用程序窗口的相关参数;水印窗口将水印生成请求上传至服务端,并获取服务端下发的基于水印生成请求生成屏幕水印。
13.进一步的,所述相关参数包括位置信息和尺寸信息;所述水印生成请求包括时间信息和溯源对象id。
14.进一步的,该方法还包括:对于多个显示器屏幕的场景,则创建多份屏幕水印窗口并对应每个显示器,且每个屏幕水印窗口的处理机制相同。
15.本发明的有益效果为:通过对全屏置顶窗口的网格矩阵绘图方式,对屏幕区域进行网格化,再通过检测每个单元网格中心坐标位置所属的窗口数据性质,判断其是否有施加或更新水印效果的要求,从而按需对指定屏幕区域进行水印的绘制;通过本发明可以解决远程应用窗口与本地窗口出现在同一屏幕上时,由于无法区别对待两种不同性质的数据界面,而导致无法满足对指定窗口数据施加水印进行保护的需求,从而可以有效地提高云应用产品软件前端用户的交互体验,保护特定窗口数据信息的安全。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是根据本发明实施例的通过网格矩阵绘图机制实现云应用专属窗口水印的方法的结构流程图;图2是根据本发明实施例的通过网格矩阵绘图机制实现云应用专属窗口水印的方
法的实现原理示意图。
具体实施方式
18.为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
19.根据本发明的实施例,提供了通过网格矩阵绘图机制实现云应用专属窗口水印的方法,且本发明技术方案的核心代码路径为:watermark/formwatermark.cs(watermark工程位于gitlab的production

rdp下)。代码将会被编译成watermark.exe,交给客户端ui去负责启动。
20.现结合附图和具体实施方式对本发明进一步说明,如图1

2所示,根据本发明实施例的通过网格矩阵绘图机制实现云应用专属窗口水印的方法,该方法包括以下步骤:s1、通过全屏置顶窗口的网格矩阵绘图方式对屏幕区域进行网格化,并在内存中构建一个矩阵数据结构;其中,所述s1中对屏幕区域进行网格化时按照合理的颗粒尺寸执行。
21.s2、检测每个单元网格中心坐标位置所属的窗口性质,并判断其是否有施加或更新水印效果的需求;其中,所述s2中更新水印效果的触发时机包括以下三种中的任意一种:第一种,首次启动屏幕水印进程模块,初始化全屏水印窗口;其中,首次启动水印功能进程模块时的模块地址如下:watermark/program.cs;第二种,主动监视屏幕窗口的变化,当发生窗口前置、最大/小化、位置发生变化时,通过发送窗口事件触发水印更新;其中,对窗口变化进行监视功能的进程模块的模块地址如下:watermark/hookmanager.cs:eventcallback;第三种,设置定时器,周期性更新当前窗口水印进程;其中,水印刷新机制定时器功能的进程模块的模块地址如下:watermark/formwatermark.cs:watermarktimer_tick。
22.此外,所述s2中检测每个单元网格中心坐标位置所属的窗口性质还包括以下步骤:检测发现窗口的位置及层次变化,并将保存的网格化处理结果进行实时重新计算,保持高效的动态更新。
23.s3、按照预设需求对指定屏幕区域进行水印绘制,实现云应用专属窗口的水印绘制。
24.其中,所述s3中按照预设需求对指定屏幕区域进行水印绘制采用的函数为:watermark/formwatermark.cs:updatewatermark。
25.具体的,所述s3中按照预设需求对指定屏幕区域进行水印绘制包括以下步骤:更新屏幕网格数据,并依次遍历每个单元网格的中心点,获取位于该中心点上的窗口句柄;
所述窗口句柄的获取方法包括:使用findwindow函数获取窗口句柄、获取所有顶层窗口以及它们的子窗口及使用getdesktopwindow和getnextwindow函数获取所有的子窗口。
26.判断窗口是否属于远程应用窗口,并记录该中心点的窗口性质与上次相比是否发生过变化;当发生网格矩阵变化则将预先制备的完整水印图案克隆一份,并在克隆后的水印图案上按照网格标识的变化将不需要水印的单元网格中的水印擦除,保留需要水印的单元网格;所述预先制备的完整水印图案的生成方法包括以下步骤:水印窗口获取终端上传的水印生成请求和应用程序窗口的相关参数,所述水印生成请求包括时间信息和溯源对象id,所述相关参数包括位置信息和尺寸信息;水印窗口将水印生成请求上传至服务端,并获取服务端下发的基于水印生成请求生成屏幕水印。
27.其中,应用程序预先封装有水印生成模块,水印生成模块用于执行服务端发送的水印生成指令;封装即在应用程序的原始程序文件的基础之上添加水印生成模块的封装配置文件。
28.让水印窗口失效,并触发操作系统重新绘制窗口。
29.本实施例中,对于多个显示器屏幕的场景,则创建多份屏幕水印窗口并对应每个显示器,且每个屏幕水印窗口的处理机制相同。
30.综上所述,借助于本发明的上述技术方案,通过对全屏置顶窗口的网格矩阵绘图方式,对屏幕区域进行网格化,再通过检测每个单元网格中心坐标位置所属的窗口数据性质,判断其是否有施加或更新水印效果的要求,从而按需对指定屏幕区域进行水印的绘制;通过本发明可以解决远程应用窗口与本地窗口出现在同一屏幕上时,由于无法区别对待两种不同性质的数据界面,而导致无法满足对指定窗口数据施加水印进行保护的需求,从而可以有效地提高云应用产品软件前端用户的交互体验,保护特定窗口数据信息的安全。
31.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献