使用Js操作注册表的技巧.

要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作.


Wshshell对象:可以在本地运行程序、操纵注册表内容、创建快捷方式或访问系统文件夹.


先来看看如何创建它:

< script type = " text/javascript " >
var  wsh = new  ActiveXObject( " Wscript.shell " );
script >


操作注册表需要使用 RegRead方法
| RegWrite方法 | RegDelete方法 |  这三个方法.


下面就介绍下这三个方法:
QUOTE:
RegRead :   从注册表中返回项值或值名.
语法 : object.RegRead(strName);
object: 所创建的Wshshell对象.
strName: 表示所需的项名或值名的字符串值.



示例:
CODE:
< script type = " text/javascript " >
var  wsh  =   new  ActiveXObject( " WScript.shell " );
var  reg = wsh.RegRead( " HKCU/Software/Microsoft/Internet Explorer/Main/Start Page " );
alert(reg);
script >
[Copy to clipboard]

在这里读取了IE 的默认地址 也就是StartPage里的值.


[attachment
= 354


下面来认识RegWrite这个方法

QUOTE:
RegWrite:创建新项,将另一个值名添加到现有的项中(为其指派一个值),或更改现有值名的值;

语法:object.RegWrite(strName, anyValue [,strType])

object:所创建的Wshshell对象;

strName:表示要创建、添加或更改的项名值、名或值的字符串值。 
anyValue: 要创建的新项名称、要添加到现有项中的值名或要指派给现有值名的新值。 
strType:可选。表示值的数据类型的字符串值。 
strType指定的四个可能的数据类型:

类型         说明                             形式 
REG_SZ       字符串                           字符串 
REG_DWORD     数字                             整数 
REG_BINARY     二进制值                         整数 
REG_EXPAND_SZ   可扩展的字符串(例如,
" %windir%/calc.exe " ) 字符串 


示例:
如我现在想通过修该注册表的方法更改IE主页就可以通过这个方法.
CODE:
< script type = " text/javascript " >
var  wsh  =   new  ActiveXObject( " WScript.shell " );
var  reg = wsh.RegWrite( " HKCU/Software/Microsoft/Internet Explorer/Main/Start Page " , " http:/www.sun.com " , " REG_SZ " );
alert(wsh.RegRead(
" HKCU/Software/Microsoft/Internet Explorer/Main/Start Page " ));
script >

[Copy to clipboard]
你可以通过右键查看IE的主页你会发现已经变成了http:/www.sun.com.


[attachment
= 355


下面来介绍一下RegDelete方法:
QUOTE:
RegDelete:从注册表中删除项及其某个值。
语法:object.RegDelete(strName)

object:WshShell 对象。 
strName:表示要删除的注册表项名或值名的字符串。 


示例:大家一定发现我的IE工具栏有一副背景图片.

现在就通过这个方法将其删除。

CODE:
< script type = " text/javascript " >
var  wsh  =   new  ActiveXObject( " WScript.shell " );
var  reg = wsh.RegDelete( " HKCU/Software/Microsoft/Internet Explorer/Toolbar/BackBitmap " );
reg.popup(
" 删除工具栏背景图成功 " );
script >
[Copy to clipboard]
图片:


[attachment
= 356

这里项名称都用了缩写,缩写如下

QUOTE:
根项名                 缩写 
HKEY_CURRENT_USER         HKCU 
HKEY_LOCAL_MACHINE         HKLM 
HKEY_CLASSES_ROOT         HKCR 
HKEY_USERS             HKEY_USERS 
HKEY_CURRENT_CONFIG       HKEY_CURRENT_CONFIG 


这些方法很简单,主要是需要你对注册表够熟悉.

好了,现在已经介绍完了 如果有兴趣可以自己写一个简易的优化大师
^ _ ^ .

对了,最好使用HTA(HTML application),不然通过Web访问会出现安全提示。
 

你可能感兴趣的:(注册表)