详解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 相关文章推荐
event对象的方法 兼容多浏览器
Jun 27 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
May 13 Javascript
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
Mar 01 Javascript
基于jquery的图片幻灯展示源码
Jul 15 Javascript
javascript创建对象、对象继承的实用方式详解
Mar 08 Javascript
Javascript实现图片不间断滚动的代码
Jun 22 Javascript
jQuery无刷新上传之uploadify简单代码
Jan 17 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
Vue中使用vue-i18插件实现多语言切换功能
Apr 25 Javascript
JS实现调用本地摄像头功能示例
May 18 Javascript
Element输入框带历史查询记录的实现示例
Jan 15 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 遍历XP文件夹下所有文件
2008/11/27 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
Laravel框架表单验证详解
2014/09/04 PHP
php简单统计中文个数的方法
2016/09/30 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
动态调用CSS文件的JS代码
2010/07/29 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python对excel文档的操作方法详解
2018/12/10 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
教育实习生的自我评价分享
2013/11/21 职场文书
2014的自我评价
2014/01/13 职场文书
大学生工作自荐书
2014/06/16 职场文书
表扬通报怎么写
2015/01/16 职场文书
泰山导游词
2015/02/02 职场文书
初三毕业感言
2015/07/31 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server