详解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 相关文章推荐
JQuery each()函数如何优化循环DOM结构的性能
Dec 10 Javascript
jQuery图片滚动图片的效果(另类实现)
Jun 02 Javascript
jquery控制表单输入框显示默认值的方法
May 22 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
教你用十行node.js代码读取docx的文本
Mar 08 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
May 28 Javascript
微信小程序项目实践之验证码倒计时功能
Jul 18 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
vue3.0中的双向数据绑定方法及优缺点
Aug 01 Javascript
vue项目实现图片上传功能
Dec 23 Javascript
vue如何使用rem适配
Feb 06 Vue.js
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
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
PHP整合PayPal支付
2015/06/11 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
浅谈PHP进程管理
2019/03/08 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
python操作gitlab API过程解析
2019/12/27 Python
NumPy统计函数的实现方法
2020/01/21 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
python构造IP报文实例
2020/05/05 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
this关键字的含义
2015/04/08 面试题
八年级物理教学反思
2014/01/19 职场文书
两只小狮子教学反思
2014/02/05 职场文书
房产公证书格式
2015/01/26 职场文书
总经理致辞
2015/07/29 职场文书