Тема: VBScript: работа с реестром с помощью объекта JSSys3.dll
Объект JSSys3.dll предоставляет ряд методов для работы с реестром (см. комментарии в коде примера):
Set oSys = CreateObject("JSSys3.Ops")
' запись раздела и значений различных типов:
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "Строка1", "проба", "S") ' REG_SZ
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "Строка2", "%Windir%", "X") ' REG_EXPAND_SZ
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "Массив строк", Array("value1", "value2") , "M") ' REG_MULTI_SZ
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "Число", 123, "D") ' REG_DWORD
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "Бинарное", Array(100, 0, 255), "B") ' REG_BINARY
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "Бинарное2", Array("64", "00", "FF"), "BH") ' REG_BINARY
errCode = oSys.RegListKeys("HKCU", "Software", Arr) ' чтение массива подразделов
For Each key In Arr
If key = "_Test" Then
errCode = oSys.RegListVals("HKCU", "Software\_Test", values) ' чтение массива параметров
For Each value In values ' обход имён параметров
WScript.Echo value ' последние два символа имени параметра - его тип
name = Left(value, Len(value)-2)
' чтение параметра по имени (vData, vType - выходные переменные)
errCode = oSys.RegGetValue("HKCU", "Software\_Test", name, vData, vType)
Select Case vType
Case "S", "D" ' строка или число
WScript.Echo vData
Case "M", "B" ' массив строк или байтов (бинарное)
WScript.Echo Join(vData)
End Select
WScript.Echo "."
Next
WScript.Echo "=========="
errCode = oSys.RegListStringData("HKCU", "Software\_Test", values) ' чтение массива параметров
For Each value In values ' обход строковых параметров и их значений
WScript.Echo value ' в формате Параметр^СтроковоеЗначение
Next
Exit For
End If
Next
WScript.Echo "=========="
errCode = oSys.RegWriteValue("HKCU", "Software\_Test", "", "по умолч.", "S") ' запись параметра раздела "по умолчанию"
errCode = oSys.RegGetValue("HKCU", "Software\_Test", "", vData, vType) ' чтение параметра раздела "по умолчанию"
Wscript.Echo vData
errCode = oSys.RegDeleteVal("HKCU", "Software\_Test", "") ' удаление параметра (в данном случае - параметра "по умолчанию")
errCode = oSys.RegDeleteSubkey("HKCU", "Software", "_Test") ' удаление раздела со всем содержимым
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.