All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
C#文件处理技术:FileStream使用方法
Windows 下架设 PHP 服务器_[PHP教程]
PHP学习宝典-第六章(续篇)_[PHP教程]
用ASP.NET开发电子商务网站对数据库表的设计_.net资料_编程技术
链接基准标记- base -的应用与实例_[Html教程]
ASP.NET编程精选25种函数源程序_[Asp.Net教程]
C#教程:使用键盘热键实例
如何在ASP.Net中实现RSA加密_[Asp.Net教程]
Visual,Studio,2005集成开发环境图解(一)_[Asp.Net教程]
asp.net收集机器硬件信息的相关代码片断(cpu频率、磁盘可用空间、内存容量……)_[Asp.Net教程]
Reading number is top 10 pictures
The money of more than 100 countries and regions20
Compared GDP and per capita income in China for 40 years
Sora aoi in China2
性感丰满身材火爆de美女1
30 beautiful school beauty1
The money of more than 100 countries and regions6
Ashlynn Brooke photograph of a group4
Valentine's day comes, send some cartoon
The woman fight much more than men
Absolutely shocked. National geographic 50 animal photographys7
Download software ranking
Visual C++界面编程技术
C#编程思想
I for your crazy
电车之狼R
Unix video tutorial18
Tram sex maniac 2 (H) rar bag14
终极变速大师Speeder3.26
Tram sex maniac 2 (H) rar bag6
功夫熊猫2(上集)
Boxer's Top ten classic battle2
delv published in(发表于) 2013/12/31 6:36:26 Edit(编辑)
VBScript实现对Windows注册表的修改_JavaScript技术_编程技术

VBScript实现对Windows注册表的修改_JavaScript技术_编程技术

VBScript实现对Windows注册表的修改_JavaScript技术_编程技术-你的首页-uuhomepage.com

  大名鼎鼎的WSH听说过吗? 它就是Windows Script Host的缩写形式,WSH是Windows平台的脚本指令,它的功能十分强大,并且它还是利用语法结构简单、易学易用且功能强大的JScript和VBScript脚本语言,来实现其卓越的功能的,除了本文介绍的修改注册表之外,它还可以访问Excel文件,也能与网络沟通,当然它最大的优势莫过于它能与操作系统沟通,而修改注册表只是它与操作系统沟通的冰山一角。正是它有如此诸多的优点与实用性,正倍受很多Windows用户的青睐,本文就为大家介绍一二,让各位领略一下WSH的风采。


  用VBScript编写的WSH程序文件的扩展名为.vbs,该脚本程序在窗口界面是由wscript.exe文件解释执行的,在字符界面是由cscript.exe文件解释执行的,命令格式为:cscript filename.vbs


  创建对象


  用VBScript修改注册表,必须先创建一个能于操作系统沟通的对象,再利用该对象的各种方法对注册表进行操作,创建这个对象的方法和格式如下:


  Dim OperationRegistry
  Set OperationRegistry=WScript.CreateObject("WScript.Shell")


  上述这些代码就创建了一个能与操作系统沟通的对象OperationRegistry


  对象的方法


  有了以上这个对象,并不等于就能马上对注册表进行操作,我们还必须弄清该对象对注册表进行操作的几种重要方法.


  1.对注册表的读操作RegRead


  2.对注册表的写操作RegWrite


  3.对注册表的删操作RegDelete


  补充一点,WSH还有两个通用的方法:


  WScript.Echo()用来显示一串文本信息,相当于VB中的MsgBox()。


  Wscript.Quit()用来退出VBScript程序。


  方法的参数


  对于以上三种操作RegRead,RegWrite,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主要是用来读取注册表中主键的默认值或键值的数据,我们可以将读得的数据送到相应的变量中,再利用VB中的MsgBox()函数将该数据显示出来,这就达到了中数据的目的(也可以利用对象OperationRegistry的方法Popup()将读取的数据送至屏幕), 例如:


  'read.vbs(将以下代码存为read.vbs文件)
  Dim OperationRegistry
  Set OperationRegistry=WScript.CreateObject("WScript.Shell")
  Dim Read_Data1,Read_Data2
  ?Read_Data1=OperationRegistry.RegRead("HKCR\.xxf\")
  '读取根键HKEY_CLASSES_ROOT之下的.xxf主键的默认值,并将该数据送至变量Read_Data1
  Read_Data2=OperationRegistry.RegRead("HKCR\.xxf\value")
  '读取.xxf主键之下的value键值的数据,并将该数据送至变量Read_Data2
  MsgBox("Default="&Read_Data1&" value="&Read_Data2)
  '将读取的数据显示出来


  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等. 看例:


  'write.vbs


  Dim OperationRegistry


  Set OperationRegistry=WScript.CreateObject("WScript.Shell")


  Default=OperationRegistry.RegRead("HKCR\")


  '获取一个空值 (null)


  OperationRegistry.RegWrite "HKCR\.xxf\",Default
  '在根键HKEY_CLASSES_ROOT之下新建主键.xxf,并置其默认值为空
  OperationRegistry.RegWrite "HKCR\.xxf\","xxffile"
  '在根键HKEY_CLASSES_ROOT之下新建主键.xxf,并置其默认值?quot;xxffile"
  OperationRegistry.RegWrite "HKCR\.xxf\value1","string"
  '在主键.xxf之下新建一个字符串型键值value1,并置其初始值为"string"
  OperationRegistry.RegWrite "HKCR\.xxf\value2",1,"REG_DWORD"
  '在主键.xxf之下新建一个REG_DWORD型键值value2,并置其初始值为1
  OperationRegistry.RegWrite "HKCR\.xxf\value3",0Xff,"REG_BINARY"
  '在主键.xxf之下新建一个二进制型键值value3,并置其初始值为十六进制的ff


  3、RegDelete操作详解


  删除操作RegDelete主要是用来删除注册表中已存在的主键或键值,该操作是一种极其危险的操作,它能将主键或键值毫不留情的在注册表中“砍掉”,无论该键值下面有多重要的数据,它都能畅行无阻,因此在使用该操作时务必小心。


  删除操作的参数形式与读操作的参数形式几乎完全相同,只是有一点小小的区别,那就是删除操作不需要将操作的返回值送给某一变量,例如:


  'delete.vbs


  Dim OperationRegistry
  Set OperationRegistry=WScript.CreateObject("WScript.Shell")
  OperationRegistry.RegRead("HKCR\.xxf\value")
  '删除.xxf主键之下的value键值
  OperationRegistry.RegRead("HKCR\.xxf\")
  '删除根键HKEY_CLASSES_ROOT之下的.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!")
  ?如果你真想这么做,那就请你作好注册表的备份。


  应用实例


  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!")





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.