• 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 贵州11选5大小走势图爱乐彩:vbscript Registry 注册表操作实现代码(读写删除)

    来源:本网整理
    VBScript Code:
    复制代码 代码如下:
    ' Create a WSH Shell object:
    Set wshShell = CreateObject( "WScript.Shell" )
    '
    ' Create a new key:
    wshShell.RegWrite "HKCU\TestKey\", ""

    ' Create a new DWORD value:
    wshShell.RegWrite "HKCU\TestKey\DWordTestValue", 1, "REG_DWORD"

    ' Create a new subkey and a string value in that new subkey:
    wshShell.RegWrite "HKCU\TestKey\SubKey\StringTestValue", "Test", "REG_SZ"

    ' Read the values we just created:
    WScript.Echo "HKCU\TestKey\DWordTestValue = " _
    & wshShell.RegRead( "HKCU\TestKey\DWordTestValue" )
    WScript.Echo "HKCU\TestKey\SubKey\StringTestValue = """ _
    & wshShell.RegRead( "HKCU\TestKey\SubKey\StringTestValue" ) & """"

    ' Delete the subkey and key and the values they contain:
    wshShell.RegDelete "HKCU\TestKey\SubKey\"
    wshShell.RegDelete "HKCU\TestKey\"

    ' Note: Since the WSH Shell has no Enumeration functionality, you cannot
    ' use the WSH Shell object to delete an entire "tree" unless you
    ' know the exact name of every subkey.
    ' If you don't, use the WMI StdRegProv instead.

    ' Release the object
    Set wshShell = Nothing

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

    彩票双色球历史开奖结果 www.s9h6.com

  • 本文相关:
  • WMI StdRegProv 通过wmi操作注册表的vbscript实现代码 (本地或远程)
  • bookfind 通过ISBN序号获取图书连接的书名与作者的vbs代码
  • VBS脚本和BAT批处理删除自身的方法
  • VBS字符串的内部实现
  • ASP/VBScript中CHR(0)的由来以及带来的安全问题分析
  • VBS正则表达式对象的MultiLine属性
  • VBS创建正则表达式对象的两种方法
  • VBS实现将字符串写入剪切板的实现代码
  • 用VBScript实现压缩目录中的所有文件(Zip)
  • 用VBScript实现解压缩目录中的所有文件(Zip)
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 彩票双色球历史开奖结果 - 频道导航
    Copyright © 2017 彩票双色球历史开奖结果 www.s9h6.com All Rights Reserved
  • 新规:续航150公里以下新能源车取消补贴 2019-10-11
  • 法国革命时代,女人流行穿什么 2019-10-11
  • 黑龙江省县(市、区)委统战部长培训班举办 2019-10-06
  • “夏季第一瓜”竟是它! 2019-10-06
  • 《阿古顿巴》藏语版在藏语卫视首播 2019-09-06
  • 晋中市“三同步”推动互联网治理创新 2019-08-27
  • 法媒:研究称美国人常用药物或增加抑郁风险 2019-08-27
  • 宝贝是地名,你能想到这么浪漫的地名在哪儿吗? 2019-08-15
  • 何树山副省长到方圆机电调研指导工作 2019-08-15
  • 广东11选五金鹰全天人工计划 福利彩票25选5中奖规则 福彩内蒙古快三开奖结果 体彩甘肃十一选五技巧 北京11选5走势图一定牛 球探足球指数 19085期足彩胜负彩推荐 山西新11选5投注计划 31选7走势图大星彩票走势图 中国竞彩网竞彩直播 刮刮乐透视工具 手机看片软件在线下载 捕鸟达人无限金币版 星辉体彩 9年快乐双彩24期开奖