欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解JavaScript修改注册表的方法

程序员文章站 2024-01-02 11:55:46
本实例主要通过wshshell 对象的相关方法实现。wshshell对象是wsh(wsh是windows ing host的缩写,内嵌于windows操作系统中的脚本语言工作环境)的内...

本实例主要通过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修改注册表的方法,希望对大家有所帮助!

上一篇:

下一篇: