Реестр

Реестр

Для доступа к реестру необходимо подключить объект WshShell. Для этого нужно воспользоваться следующим объявлением: Set имя_нового_объекта = WScript.CreateObject("WScript. Shell"). Объект поддерживает следующие методы.

? RegRead(путь к ветви реестра и имя параметра) — считывает из реестра значение параметра, указанного в качестве входного значения. При этом если входное значение будет завершаться косой чертой (), то будет считываться значение по умолчанию данной ветви реестра. Следует также напомнить, что путь к ветви реестра должен начинаться не с полного названия корневого раздела, а с его аббревиатуры. Например, возможны следующие аббревиатуры:

 • HKCU — соответствует корневому разделу HKEY_CURRENT_USER;

 • HKLM — HKEY_LOCAL_MACHINE;

 • HKCR — HKEY_CLASSES_ROOT.

? RegWrite путь к ветви реестра и имя параметра, значение параметра, тип параметра — редактирует значение существующего параметра реестра или создает новый параметр. При этом для его работы необходимо три входных значения, последнее из которых является аббревиатурой типа создаваемого параметра. Возможны следующие аббревиатуры:

 • REG_SZ — строковый параметр;

 • REG_DWORD — параметр REG_DWORD-типа;

 • REG_BINARY — параметр REG_BINARY-типа.

Как и в методе RegRead, если путь к создаваемому параметру будет заканчиваться косой чертой, то будет изменяться значение параметра (По умолчанию).

? RegDelete путь к ветви реестра и имя параметра, который мы удаляем — удаляет из реестра указанный во входящем значении параметр. При этом если входящее значение оканчивается косой чертой, то будет удалена вся ветвь.

Рассмотрим простой пример работы с данными методами. В нем будет создан параметр, а также отредактирован параметр (По умолчанию). Затем произойдет попытка считать созданные параметры, а после этого удаление сначала отдельного параметра, а потом всей ветви реестра, которая была создана ранее.

Листинг 16.1. Работа с методами для доступа к реестру

set wshshell = WScript.CreateObject("WScript.Shell")

wshshell.RegWrite "HKCUPrimer_sozdania_vetvihello_world", "BIG_WORLD", "REG_SZ"

wshshell.RegWrite "HKCUPrimer_sozdania_vetvi", "Изменяем значение параметра По умолчанию", "REG_SZ"

MsgBox wshshell. RegRead("HKCUPrimer_sozdania_vetvihello_world")

MsgBox wshshell.RegRead("HKCUPrimer_sozdania_vetvi")

wshshell.RegDelete "HKCUPrimer_sozdania_vetvihello_world"

wshshell.RegDelete "HKCUPrimer_sozdania_vetvi"