详解JavaScript修改注册表的方法


Posted in Javascript onJanuary 05, 2020

本实例主要通过WshShell 对象的相关方法实现。WshShell对象是WSH(WSH是Windows ing Host的缩写,内嵌于Windows操作系统中的脚本语言工作环境)的内建对象,主要负责程序的本地运行、处理注册表、创建快捷方式、获取系统文件夹信息及处理环境变量等工作。 WshShell 对象的相关方法如表11.1所示。

详解JavaScript修改注册表的方法

本实例中主要应用了 RegWrite方法,下面将对该方法进行详细介绍。

RegWrite方法用于在注册表中设置指定的键或值,其语法格式如下:

WshShell.RegWrite strName, anyValue, [strType]

参数说明

l     strName:用于指定注册表的键或值,若strName以一个反斜杠 (在 中为//) 结束,则该方法设置键,否则设置值。strName 参数必须以根键名“HKEY_CURRENT_USER”、 “HKEY_LOCAL_MACHINE”、“HKEY_CLASSES_ROOT”、“HKEY_USERS”或 “HKEY_CURRENT_CONFIG”开头。

l     AnyValue:用于指定注册表的键或值的值。当strType为REG_SZ或REG_EXPAND_SZ时,RegWrite方法自动将 anyValue转换为字符串。若strType为REG_DWORD,则anyValue被转换为整数。若strType为REG_BINARY,则 anyValue必须是一个整数。

l     StrType:用于指定注册表的键或值的数据类型。RegWrite方法支持的数据类型为REG_SZ、REG_EXPAND_SZ、 REG_DWORD和REG_BINARY。其他的数据类型被作为strType传递,RegWrite 返回 E_INVALIDARG。

实现过程

(1)编写自定义 函数PageSetup_del()和PageSetup_set(),用于实现清空页眉页脚和恢复页眉页脚的功能。具体代码如下:

< language=" "> 
 var HKEY_RootPath="HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//PageSetup//"; function PageSetup_del()
{  
 //清空页眉页脚
 try
{ 
 var WSc=new ActiveX ("W .Shell");  HKEY_Key="header"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");  HKEY_Key="footer"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,""); 
}catch(e){} 
} 
function PageSetup_set()
{ 
 //恢复页眉页脚 
 try{ 
 var WSc=new ActiveX ("W .Shell");  HKEY_Key="header"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&w&b页码,&p/&P");  
HKEY_Key="footer"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&u&b&d"); 
 }catch(e){} 
} 
</ >

(2)建立HTML的 标签,调用WebBrowser控件,代码如下:

< id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

</ >

(3)创建“清空页眉页脚”和“恢复页眉页脚”的超级链接,并调用自定义函数PageSetup_del()和PageSetup_set()实现相应功能。代码如下:

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="PageSetup_del()">清空页眉页脚</a>

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="PageSetup_set()"> 恢复页眉页脚 </a>

(4)建立相关的打印超级链接,并调用WebBrowser控件的相应参数实现打印预览、打印等功能。代码如下:

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(7,1)">打印预览</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(6,1)">打印</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(6,6)">直接打印</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(8,1)">页面设置</a>

总结

以上所述是小编给大家介绍的JavaScript修改注册表的方法,希望对大家有所帮助!

Javascript 相关文章推荐
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
javascript不同类型数据之间的运算的转换方法
Feb 13 Javascript
jQuery CSS()方法改变现有的CSS样式
Aug 20 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
node中的session的具体使用
Sep 14 Javascript
vue实现微信分享功能
Nov 28 Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 Javascript
Vue指令实现OutClick的示例
Nov 16 Javascript
js判断非127开头的IP地址的实例代码
Jan 05 #Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
Jan 05 #Javascript
分享JS表单验证源码(带错误提示及密码等级)
Jan 05 #Javascript
jQuery 选择器用法基础入门示例
Jan 04 #jQuery
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 #Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
Jan 04 #Javascript
Angular8 实现table表格表头固定效果
Jan 03 #Javascript
You might like
PHP数组相关函数汇总
2015/03/24 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
javascript css styleFloat和cssFloat
2010/03/15 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
JavaScript实现短信倒计时60s
2017/10/09 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
Python访问纯真IP数据库脚本分享
2015/06/29 Python
python实现TF-IDF算法解析
2018/01/02 Python
python实现学生管理系统
2018/01/11 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python word转pdf代码实例
2019/08/16 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
公务员平时考核实施方案
2014/03/11 职场文书
网络管理专业求职信
2014/03/15 职场文书
座谈会主持词
2014/03/20 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL