Windows 95/98/NT FAQ

Как автоматизировать обновление реестра?


Есть два метода для создания сценариев автоматической модификации реестра. Первый - создание *.reg файла, который можно выполнить, используя

regedit /s <reg file>

Формат такого файла:

REGEDIT4
[<key name>]
"<value name>"="<value>"
a string value
"<value name>"=hex:<value>
a binary value
"<value name>"=dword:<value>
a dword value

Пример:

REGEDIT4

[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
"Wallpaper"="E:\\WINNT\\winfaq.bmp"
"TileWallpaper"="0"

[HKEY_USERS\.DEFAULT\Control Panel\Colors]
"Background"="0 0 0"

Установит обои "по умолчанию" и цвет фона до входа в систему.

Второй метод - это использование пришедших из Windows 95  *.inf файлов. Они выполняются используя   следующий формат команды:

rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 <inf file>

Формат файлов следующий:

[Version]
Signature = "$Windows NT$"
Provider=%Provider%

[Strings]
Provider="WinFAQ Ltd"

[DefaultInstall]
AddReg = AddReg
DelReg = DelReg
UpdateInis = UpdateInis

[AddReg]
[DelReg]
[UpdateInis]

Используемые ключи:

HKCR HKEY_CLASSES_ROOT
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKU HKEY_USERS

Ниже представлен пример *.inf файла, выполняющего те же действия, что и описанный выше *.reg файл:

[Version]
Signature = "$Windows NT$"

[DefaultInstall]
AddReg = AddReg

[AddReg]
HKU,".DEFAULT\Control Panel\Colors","Background",0000000000,"0 0 0"
HKU,".DEFAULT\Control Panel\Desktop","Wallpaper",0000000000,"E:\WINNT\winfaq.bmp"
HKU,".DEFAULT\Control Panel\Desktop","TileWallpaper",0000000000,"1"


На первую страницу    Раздел Windows NT    Назад

Copyright © 2000. Andrey Harchenko. При перепечатке ссылка на http://WinFAQ.com.ru обязательна.
Авторские права на оригиналы статей: Microsoft Corporation, SavillTech Ltd, Simon Clausen