创建新项、将另一个值名添加到现有的项中(为其指派一个值),或更改现有值名的值。
object.RegWrite(strName, anyValue [,strType])
可通过用最后的反斜线终止 strName 来指定项名。指定值名时最后不要包括反斜线。RegWrite 方法自动将 anyValue 参数转换成字符串或整数。strType 的值确定它的数据类型(字符串或整数)。下表列出用于 strType 的选项。
| 转换成 | strType |
|---|---|
| 字符串 | REG_SZ |
| 字符串 | REG_EXPAND_SZ |
| 整数 | REG_DWORD |
| 字符串 | REG_BINARY |
注意 RegWrite 方法不支持 REG_MULTI_SZ 类型。
提示 RegWrite 最多会将一个 DWORD 写入一个 REG_BINARY 值。该方法不支持 Larger 值。
完全限定的项名和值名的前缀为根项。可以将缩写版本的根项名称用于 RegWrite 方法。下表中列出了五个根项。
| 根项名 | 缩写 |
|---|---|
| HKEY_CURRENT_USER | HKCU |
| HKEY_LOCAL_MACHINE | HKLM |
| HKEY_CLASSES_ROOT | HKCR |
| HKEY_USERS | HKEY_USERS |
| HKEY_CURRENT_CONFIG | HKEY_CURRENT_CONFIG |
下表列出了用 strType 指定的四个可能的数据类型。
| 类型 | 说明 | 形式 |
|---|---|---|
| REG_SZ | 字符串 | 字符串 |
| REG_DWORD | 数字 | 整数 |
| REG_BINARY | 二进制值 | 整数 |
| REG_EXPAND_SZ | 可扩展的字符串(例如,"%windir%\\calc.exe") | 字符串 |
下面的代码创建一个项和两个值,读取它们,然后删除它们。
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\"
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");
var 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\\");