Vbs 脚本编程之修改注册表
1、读注册表的关键词和值:
可以通过把关键词的完整路径传递给 vbsRegRead对象的 regread 方法。例如:
Set vbsRegRead = CreateObject("Wscript.Shell")
temp = vbsRegRead.RegRead("HKLM\software\microsoft\windows\currentversion\run\hotkeyscmds")
WScript.Echo temp
RegRead 方法
从注册表中返回项值或值名。
object.RegRead(strName)
参数
-
object
- WshShell 对象。 strName
- 表示所需的项名或值名的字符串值。
说明
RegRead 方法返回以下五种类型的值。
类型 | 说明 | 形式 |
---|---|---|
REG_SZ | 字符串 | 字符串 |
REG_DWORD | 数字 | 整数 |
REG_BINARY | 二进制值 | 由整数组成的 VB 数组 |
REG_EXPAND_SZ | 可扩展的字符串(例如,"%windir%\\calc.exe") | 字符串 |
REG_MULTI_SZ | 字符串数组 | 由字符串组成的 VB 数组 |
可通过用最后的反斜线终止 strName 来指定项名。指定值名时最后不要包括反斜线。值由三部分组成:名称、数据类型和值。指定项名(与值名相反)时,RegRead 返回默认值。要读取项的默认值,请指定项本身的名称。完全限定的项名和值名以根项开头。可以将缩写版本的根项名称用于 RegRead 方法。下表列出了五个可能的根项。
根项名 | 缩写 |
---|---|
HKEY_CURRENT_USER | HKCU |
HKEY_LOCAL_MACHINE | HKLM |
HKEY_CLASSES_ROOT | HKCR |
HKEY_USERS | HKEY_USERS |
HKEY_CURRENT_CONFIG | HKEY_CURRENT_CONFIG |
Set vbsRegWrite = CreateObject("Wscript.Shell")
Dim path
path = "HKLM\software\microsoft\windows\currentversion\run\"
vbsRegWrite.RegWrite path & "Test","TestRegWrite","REG_SZ"
如果在使用regwrite时使用了括号,则会出现“Microsoft VBScript 编译器错误: 调用过程(Sub)时不能使用括号”,不写明data types时,默认是REG_SZ类型
如果要创建一个新的关键词,同样也是用这个方法。反斜杠结尾
path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run\sssa2000\love\"
set ws=wscript.createobject("wscript.shell")
val=ws.regwrite(path,"nenboy")
val=ws.regread(path)
wscript.echo val
3、删除关键字和值
在上面的基础上,加以下代码即可
vbsRegWrite.RegDelete path & "Test"
注意,如果要删除关键词的值的话 一定要在路径最后加上“ \”,如果不加斜线,就会删除整个关键词
vbs帮助文档上的例子:
Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell. RegWrite"HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
WshShell. RegWrite"HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"
bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
WScript.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
WshShell.RegDelete "HKCU\Software\ACME\"