详解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 相关文章推荐
不错的新闻标题颜色效果
Dec 10 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
Jan 20 Javascript
浅析Cookie中的Path与domain
Dec 18 Javascript
JavaScript将数组转换成CSV格式的方法
Mar 19 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
web.js.字符串与正则表达式操作
May 13 Javascript
Vue之Watcher源码解析(2)
Jul 19 Javascript
Emberjs 通过 axios 下载文件的方法
Sep 03 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 Javascript
浅析我对JS延迟异步脚本的思考
Oct 12 Javascript
js实现移动端轮播图滑动切换
Dec 21 Javascript
利用node.js开发cli的完整步骤
Dec 29 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
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
Open and Print a Word Document
2007/06/15 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
酒店拾金不昧表扬信
2014/01/18 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
创新比赛获奖感言
2014/02/13 职场文书
机关作风建设心得体会
2014/10/22 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL