详解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 相关文章推荐
javascrip客户端验证文件大小及文件类型并重置上传
Jan 12 Javascript
浅析javascript中function 的 length 属性
May 27 Javascript
JavaScript实现彩虹文字效果的方法
Apr 16 Javascript
AngularJS内建服务$location及其功能详解
Jul 01 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
详解webpack异步加载业务模块
Jun 23 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
Jul 13 Javascript
JS实现百度网盘任意文件强制下载功能
Aug 31 Javascript
vue动态设置img的src路径实例
Sep 18 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
layui表格内放置图片,并点击放大的实例
Sep 10 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
基于jQuery的倒计时插件代码
2011/05/07 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
PyQt5实现下载进度条效果
2018/04/19 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
建筑班组长岗位职责
2014/01/02 职场文书
党员公开承诺书
2014/03/25 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
工厂见习报告范文
2014/10/31 职场文书
慈善募捐倡议书
2015/04/27 职场文书
诚信高考倡议书
2019/06/24 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server