详解JavaScript修改注册表的方法
本实例主要通过wshshell 对象的相关方法实现。wshshell对象是wsh(wsh是windows ing host的缩写,内嵌于windows操作系统中的脚本语言工作环境)的内建对象,主要负责程序的本地运行、处理注册表、创建快捷方式、获取系统文件夹信息及处理环境变量等工作。 wshshell 对象的相关方法如表11.1所示。
本实例中主要应用了 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修改注册表的方法,希望对大家有所帮助!