一种网页浏览器文本背景安全打印的方法和装置制造方法及图纸

技术编号:10431109 阅读:133 留言:0更新日期:2014-09-17 10:18
本申请提供一种网页浏览器文本背景安全打印方法,包括:在文本背景安全打印模式下,将系统注册表中控制背景打印的表项的键值设置为指定值,指示打印背景;安装全局消息钩子,通过所述全局消息钩子监控系统中运行的所有应用程序的进程,并在监控到应用程序调用对系统注册表进行操作的函数时,执行如下拦截操作:判断所述应用程序调用所述对系统注册表进行操作的函数是否是对所述系统注册表中控制背景打印的表项的键值进行修改,如果是,则阻止对所述系统注册表中控制背景打印的表项的键值进行修改,直接返回。本申请还提供一种网页浏览器文本背景安全打印装置。本申请可以实现文本背景安全打印。

【技术实现步骤摘要】
一种网页浏览器文本背景安全打印的方法和装置
本申请涉及计算机技术,尤其涉及一种网页浏览器文本背景安全打印的方法和装置。
技术介绍
目前在互联网商业中,电子合同/协议最终会被用户下载到本地打印为纸质的文件存档。电子合同/协议的提供者往往为了保护文档而加上企业的水印背景,但是IEdnternet Explorer,网页浏览器)打印的时候会有一项选择,“打印背景颜色和图像”经常会被设置成未选中(即不打钩,图1所示为选中状态)或者用户故意取消打钩,这样会造成背景颜色和图像不会被打印出来,造成后续双方纸质契约的不一致。 现有的解决方案是:使用遍历IE窗口找到最内层句柄窗口进行消息拦截,来保证打印背景颜色和图像,仅能支持IE6。 上述方案的缺陷在于,使用遍历IE窗口找到最内层句柄窗口,随着IE版本的升级(就算是小版本升级),一旦窗口的句柄名称发生变化的话,该控件就需要重新设定和发布,目前仅支持IE6,而现在IE6基本上就处于发展的末期,已有新的版本替代IE6,现有方案兼容性比较差。
技术实现思路
本申请要解决的技术问题是提供一种网页浏览器文本背景安全打印方法和装置,实现背景的强制打印,保证双方文本的一致性。 为了解决上述问题,本申请提供了一种网页浏览器文本背景安全打印方法,包括: 在文本背景安全打印模式下,将系统注册表中控制背景打印的表项的键值设置为指定值,指示打印背景; 安装全局消息钩子,通过所述全局消息钩子监控系统中运行的所有应用程序的进程,并在监控到应用程序调用对系统注册表进行操作的函数时,执行如下拦截操作: 判断所述应用程序调用所述对系统注册表进行操作的函数是否是对所述系统注册表中控制背景打印的表项的键值进行修改,如果是,则阻止对所述系统注册表中控制背景打印的表项的键值进行修改,直接返回。 上述方法还可具有以下特点,所述拦截操作中还包括:判断所述应用程序调用所述对系统注册表进行操作的函数不是对所述系统注册表中控制背景打印的表项的键值进行修改时,执行所述应用程序所调用的所述对系统注册表进行操作的函数。 上述方法还可具有以下特点,通过如下方式实现所述拦截操作: 获取所述对系统注册表进行操作的函数的入口地址,将所述入口地址对应的代码段的最前面的多个字节的内容替换为跳转指令,该跳转指令指示跳转到预设的拦截函数的地址; 将所述拦截函数对应的执行代码注入到所有应用程序的进程空间; 当监控到应用程序调用所述对系统注册表进行操作的函数时,通过执行所述跳转指令转向执行所述拦截函数,实现所述拦截操作。 上述方法还可具有以下特点,所述方法还包括:退出所述文本背景安全打印模式时,卸载所述全局消息钩子,将所述对系统注册表进行操作的函数的入口地址对应的代码段的最前面的多个字节的内容恢复为原有内容。 上述方法还可具有以下特点,所述对系统注册表进行操作的函数包括:对所述系统注册表进行新增、修改或删除操作的函数。 本申请还提供一种网页浏览器文本背景安全打印装置,包括: 配置模块,用于在文本背景安全打印模式下,将系统注册表中控制背景打印的表项的键值设置为指定值,指示打印背景;以及,安装全局消息钩子; 监控模块,用于通过所述全局消息钩子监控系统中运行的所有应用程序的进程; 拦截模块,用于在所述监控模块监控到应用程序调用对系统注册表进行操作的函数时,执行如下拦截操作:判断所述应用程序调用所述对系统注册表进行操作的函数是否是对所述系统注册表中控制背景打印的表项的键值进行修改,如果是,则阻止对所述系统注册表中控制背景打印的表项的键值进行修改,直接返回。 上述装置还可具有以下特点,所述拦截模块执行的所述拦截操作中还包括:判断所述应用程序调用所述对系统注册表进行操作的函数不是对所述系统注册表中控制背景打印的表项的键值进行修改时,执行所述应用程序所调用的所述对系统注册表进行操作的函数。 上述装置还可具有以下特点,所述配置模块还用于:获取所述对系统注册表进行操作的函数的入口地址,将所述入口地址对应的代码段的最前面的多个字节的内容替换为跳转指令,该跳转指令指示跳转到预设的拦截函数的地址;以及,将所述拦截函数对应的执行代码注入到所有应用程序的进程空间; 所述拦截模块是用于:当所述监控模块监控到应用程序调用所述对系统注册表进行操作的函数时,通过执行所述跳转指令转向执行所述拦截函数,实现所述拦截操作。 上述装置还可具有以下特点,所述配置模块还用于:退出所述文本背景安全打印模式时,卸载所述全局消息钩子,将所述对系统注册表进行操作的函数的入口地址对应的代码段的最前面的多个字节的内容恢复为原有内容。 上述装置还可具有以下特点,所述对系统注册表进行操作的函数包括:对所述系统注册表进行新增、修改或删除操作的函数。 本申请包括以下优点: 1、不限于特定的浏览器的版本,可以适用于已有各版本的浏览器以及后续开发的浏览器; 2、不受最内层句柄限制,在最内层句柄名称或类型变化时,本申请仍可适用。 当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。 【附图说明】 图1是现有技术中打印背景未选中的示意图; 图2 是 Windows 全局 APIHook 结构图; 图3是Windows全局的APIHook拦截不意图: 图4是本申请实施例网页浏览器文本背景安全打印方法流程图; 图5是拦截函数执行示意图; 图6是本申请实施例网页浏览器文本背景安全打印装置的示意图。 【具体实施方式】 为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。 另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。 Windows API Hook (应用程序接口钩子)是Windows操作系统中应用程序采取的一种系统级或者应用级别API (Applicat1n Programming Interface,应用程序接口)拦截技术,通过这种拦截技术应用软件开发者中就可以有效拦截系统/应用级别的API的调用,可以为应用程序提供更强大的支持。拦截可以分为全局API拦截和应用程序API拦截,顾名思义全局拦截是可以实现Windows操作系统程序对某个API的拦截。本申请基于Windows全局APIHook技术来对互联网文本背景打印进行安全控制。 实施例一 本实施例提供一种网页浏览器文本背景安全打印方法,包括: 在文本背景安全打印模式下,将系统注册表中控制背景打印的表项键值设置为指定值,指示打印背景; 安装全局消息钩子,通过所述全局消息钩子监控系统中运行的所有应用程序的进程; 当监控到应用程序调用对系统注册表进行操作的函数时,执行如下拦截操作: 判断所述应用程序调用所述对系统注册表进行操作的函数是否是对所述系统注册表中控制背景打印的表项的键值进行修改,如果是,则阻止对所述系统注册表中控制背景打印的表项的键值进行修改,直接返回。 本实施例中,通过预先设置系统注册表中控制背景打印的表项键值为指定值,指示打印背景,并在后续通过本文档来自技高网...

【技术保护点】
一种网页浏览器文本背景安全打印方法,其特征在于,包括:在文本背景安全打印模式下,将系统注册表中控制背景打印的表项的键值设置为指定值,指示打印背景;安装全局消息钩子,通过所述全局消息钩子监控系统中运行的所有应用程序的进程,并在监控到应用程序调用对系统注册表进行操作的函数时,执行如下拦截操作:判断所述应用程序调用所述对系统注册表进行操作的函数是否是对所述系统注册表中控制背景打印的表项的键值进行修改,如果是,则阻止对所述系统注册表中控制背景打印的表项的键值进行修改,直接返回。

【技术特征摘要】
1.一种网页浏览器文本背景安全打印方法,其特征在于,包括: 在文本背景安全打印模式下,将系统注册表中控制背景打印的表项的键值设置为指定值,指示打印背景; 安装全局消息钩子,通过所述全局消息钩子监控系统中运行的所有应用程序的进程,并在监控到应用程序调用对系统注册表进行操作的函数时,执行如下拦截操作: 判断所述应用程序调用所述对系统注册表进行操作的函数是否是对所述系统注册表中控制背景打印的表项的键值进行修改,如果是,则阻止对所述系统注册表中控制背景打印的表项的键值进行修改,直接返回。2.如权利要求1所述的方法,其特征在于,所述拦截操作中还包括:判断所述应用程序调用所述对系统注册表进行操作的函数不是对所述系统注册表中控制背景打印的表项的键值进行修改时,执行所述应用程序所调用的所述对系统注册表进行操作的函数。3.如权利要求1或2所述的方法,其特征在于,通过如下方式实现所述拦截操作: 获取所述对系统注册表进行操作的函数的入口地址,将所述入口地址对应的代码段的最前面的多个字节的内容替换为跳转指令,该跳转指令指示跳转到预设的拦截函数的地址; 将所述拦截函数对应的执行代码注入到所有应用程序的进程空间; 当监控到应用程序调用所述对系统注册表进行操作的函数时,通过执行所述跳转指令转向执行所述拦截函数,实现所述拦截操作。4.如权利要求3所述的方法,其特征在于,所述方法还包括:退出所述文本背景安全打印模式时,卸载所述全局消息钩子,将所述对系统注册表进行操作的函数的入口地址对应的代码段的最前面的多个字节的内容恢复为原有内容。5.如权利要求1或2所述的方法,其特征在于,所述对系统注册表进行操作的函数包括:对所述系统注册表进行新增、修改或删除操作的函数。6.一种网页浏览器文本背景安全打印装置,其特征在于,包...

【专利技术属性】
技术研发人员:沈孝栋
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1