vbs 注册表操作方法

  Set   OperationRegistry=WScript.CreateObject( "WScript.Shell ")   
  1.对注册表的读操作RegRead   
  2.对注册表的写操作RegWrite   
  3.对注册表的删操作RegDelete   
  参数可称作是 "路径参数 ",它包括根键,主键路径和键值,各部分表示的方法如下:   
  根键:   
  根键有两种表示方法。   
  方法一:直接用它在注册表中的字符串来表示,如:   
  HKEY_CLASSES_ROOT,HKEY_CURRENT_USER等   
  方法二:用缩写的四个字母来表示,前两个为HK,后两个即为根键单词的首字母。如:   
  根键HKEY_CLASSES_ROOT表示为:HKCR,   根键HKEY_CURRENT_USER可表示为:HKCU等。   

  主键路径:   

主键路径就是目标键在注册表中的主键位置,各个主键之间用 "\ "符分隔开。

如: "Software\Microsoft\Windows\CurrentVersion\Policies\ "   

  键值:   
键值参数直接接在主键路径之后。例如一个完整的路径如下所示:   
   "HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\NoRun "   
    
方法详解   
  1、RegRead操作详解   
  读操作RegRead主要是用来读取注册表中主键的默认值或键值的数据 
  
Set   OperationRegistry=WScript.CreateObject( "WScript.Shell ")  
'读取根键HKEY_CLASSES_ROOT之下的.xxf主键的默认值,保存至变量Read_Data1   
Read_Data1=OperationRegistry.RegRead( "HKCR\.xxf\ ") 
'读取.xxf主键之下的value键值的数据,保存至变量Read_Data2  
Read_Data2=OperationRegistry.RegRead( "HKCR\.xxf\value ")  

    2、RegWrite操作详解  

  写操作RegWrite主要是用来在注册表中新建主键或键值,并要赋予给它们一个初始值,该操作同样可以对注册表中以存在的主键或键值进行数据的修改,因此写操作的参数结构就比读操作要复杂一些,它不仅要路径参数,还要一个初始值和类型参数.   
先来看初始值参数,该参数对于写操作来说是必不可少的,它可以为空(null)但却不能省掉。在新建主键时,初始值参数就赋给了该主键的默认值,在新建键值时,初始值参数就成了新建键值的初始数据.而初始值的类型,则是由类型参数决定的.类型主要有以下三种: 
  (1)REG_SZ:字符型.该类型为缺省类型   
  (2)REG_DWORD:双字节型.   

  (3)REG_BINARY:二进制型.   

  以上三种类型第1种和第2种用得最多,第3种类型在某些场合可以用第2种加以替代,这三种类型的赋值方法如下:   

  对于REG_SZ型:直接用字符串赋予,如 "text ", "string "等   
  对于REG_DWORD型和REG_BINARY型则有两种赋值方式   
  i)直接用十进制的数表示,如:0,1等.   
  ii)用十六进制的数表示,如:0x12,0xff等.   看例:   
Set   OperationRegistry=WScript.CreateObject( "WScript.Shell ")   
'获取一个空值   (null)  
Default=OperationRegistry.RegRead( "HKCR\ ")     
 '在根键HKEY_CLASSES_ROOT之下新建主键.xxf,并置其默认值为空    
OperationRegistry.RegWrite  "HKCR\.xxf\ ",Default      
'在根键HKEY_CLASSES_ROOT之下新建主键.xxf,并置其默认值?quot;xxffile "   
OperationRegistry.RegWrite  "HKCR\.xxf\ ", "xxffile " 
'在主键.xxf下新建一个字符串型键值value1,并置其初值为 "string "   
OperationRegistry.RegWrite "HKCR\.xxf\value1 ", "string " 
  '在主键.xxf下新建REG_DWORD型键值value2,并置其初始值为1   
OperationRegistry.RegWrite   "HKCR\.xxf\value2 ",1, "REG_DWORD " 
 '在主键.xxf之下新建一个二进制型键值value3,并置其初始值为十六进制的ff 
OperationRegistry.RegWrite   "HKCR\.xxf\value3 ",0Xff, "REG_BINARY "


3、RegDelete操作详解   
  删除操作RegDelete主要是用来删除注册表中已存在的主键或键值,该操作是一种极其危险的操作,它能将主键或键值毫不留情的在注册表中“砍掉”,无论该键值下面有多重要的数据,它都能畅行无阻,因此在使用该操作时务必小心。   
  删除操作的参数形式与读操作的参数形式几乎完全相同,只是有一点小小的区别,那就是删除操作不需要将操作的返回值送给某一变量,例如: 

'delete.vbs   
Dim   OperationRegistry   
Set   OperationRegistry=WScript.CreateObject( "WScript.Shell ")   
'删除.xxf主键之下的value键值   
OperationRegistry.regDelete( "HKCR\.xxf\value ")   
'删除根键HKEY_CLASSES_ROOT之下的.xxf主键   
OperationRegistry.regDelete( "HKCR\.xxf\ ")  
  强调一点,不要更改注册表中已存在的主键或键值,更不要将它们删除,因为对注册表进行了不当的写操作或删操作,情况严重的会导致系统崩溃!如果你真想这么做,那就请你作好注册表的备份。   
    

应用实例   

  1、读本机“计算机名”
'ReadComputerName.vbs   
Dim   ReadComputerName   
Set   ReadComputerName=WScript.CreateObject( "WScript.Shell ")   
Dim   ComputerName,RegPath   
RegPath= "HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName "   
ComputerName=ReadComputerName.RegRead(RegPath)   
MsgBox( "计算机名为 "&ComputerName)   
  2、隐藏快捷方式图标上的小箭头   
'Hidden.vbs   
Dim   HiddenArrowIcon   
Set   HiddenArrowIcon=WScript.CreateObject( "WScript.Shell ")   
Dim   RegPath1,RegPath2   
RegPath1= "HKCR\lnkfile\IsShortCut "   
RegPath2= "HKCR\piffile\IsShortCut "   
HiddenArrowIcon.RegDelete(RegPath1)   
HiddenArrowIcon.RegDelete(RegPath2)  

  3、改造“开始”菜单   
'ChangeStartMenu.vbs   
Dim   ChangeStartMenu   
Set   ChangeStartMenu=WScript.CreateObject( "WScript.Shell ")   
RegPath= "HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\ "   
Type_Name= "REG_DWORD "   
Key_Data=1   
    
StartMenu_Run= "NoRun "   
StartMenu_Find= "NoFind "   
StartMenu_Close= "NoClose "   
    
Sub   Change(Argument)   
ChangeStartMenu.RegWrite   RegPath&Argument,Key_Data,Type_Name   
MsgBox( "Success! ")   
End   Sub   
    
Call   Change(StartMenu_Run)   '禁用“开始”菜单中的“运行”功能   
Call   Change(StartMenu_Find)   '禁用“开始”菜单中的“查找”功能   
Call   Change(StartMenu_Close)   '禁用“开始”菜单中的“关闭系统”功能  

  4、向Windows中添加自启动程序 该程序能在开机时自动运行。   
'AddAutoRunProgram.vbs   
'假设该程序在c:\myfile文件夹中,文件名为autorun.exe   
Dim   AutoRunProgram   
Set   AutoRunProgram=WScript.CreateObject( "WScript.Shell ")   
RegPath= "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ "   
Type_Name= "REG_SZ "   
Key_Name= "AutoRun "   
Key_Data= "C:\Myfile\autorun.exe "   
'该自启动程序的全路径文件名   
AutoRunProgram.Write   RegPath&Key_Name,Key_Data,Type_Name   
'在启动组中添加自启动程序autorun.exe   
MsgBox( "Success! ")   



  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值