屏幕水印作为一个安全功能,用于企业重要文档、企业BI图表等重要数据防截图、手机拍照有很好的威慑力。
但现在水印只支持按用户开启该功能, 所以,问题来了,客户只想让发布的虚拟文件夹带水印,其它正常发布的ERP不带水印,如何办了?
经过与老杨的交流,想出了一个牛X的办法,那就是水印支持各种变量,所以诞生以下开启水印的新办法 (从V6.0.2.8047版本开始支持)。
1、原理: 水印内容写在注册表
那就是从当前用户注册表HKEY_CURRENT_USERSoftwareVAWaterMark中读取水印内容。
所以,修改注册表 WaterMark内容即可显示不同水印,同时支持以下几种特殊值。
注册表项
|
值
|
说明
|
WaterMark
|
None
|
不显示水印 |
WaterMark
|
{{VaUsername}}
|
登陆的帐号名
|
WaterMark
|
{{VaUserFullName}} |
备注的姓名
|
WaterMark
|
{{Product}}
|
Web登面界面,关于中的产品名称 |
WaterMark
|
{{time}}
|
如:1504150930,表示15年4月15日9点30 |
2、然后,把要显示的内容,写在环境变理批处理中。
在VA的BIN目录中,建个VASInitW.bat批处理文档,
注意:发布的应用名称 不要有空格、特殊符号,开启水印的应用,建议禁止会话共享。
说明:
Set MyWaterMark=None
先配置 MyWaterMark不显用水印,(控制台先启水印总开关,这是注册表水印开关)
IF %VaAppName%==虚拟文件夹 Set MyWaterMark=”在虚拟文件夹中显示”
如果”发布的应用名“等于“虚拟文件夹”,就配置变量 MyWaterMark等于 “在虚拟文件夹中显示”
REG ADD HKEY_CURRENT_USERSoftwareVA
使用REG命令增加注册表到 HKEY_CURRENT_USERSoftwareVA
参数 /v WaterMark,增加一个WaterMark的项
参数 /t REG_SZ,增加 字符串 数据类型
参数/d %MyWaterMark%,表示前文中的变量,不同应用写不同水印内容,或不同用户写不同水印内容;
参数/f 表示强行覆盖注册表项,不提示。
还可使用的 常用变量有:
CCOMPUTERNAME=LLF-PC (客户端电脑名称)
CLIENTNAME=LLF-PC (客户端电脑名乐)
USERNAME=llf (客户端登陆Windows帐号名称)
VaAppName=桌面 (VA发布应用程序名)
VaClientID=VCDD-774E-C181-E653-571C(VA客户端硬件ID)
VaUserName=llf (VA用户帐号名)
所以,你就可以得到如下效果:
用户打开文件夹,显示文件夹中的水印。
用户打开另一个应用,显示不同的水印,或者不启用水印。