ТерминологияПрежде чем перейти к делу, нужно определиться с
терминологией. В статьях о твиках реестра, размещенных на сайте
автоустановки, используется официальная терминология Microsoft, поэтому
термины вполне соответствуют элементам редактора реестра. Рисунок 1 - Редактор реестра
| Разделы реестра | | Параметры реестра | | Значения параметров |
Как видите, здесь нет никаких "веток" и "ключей". Теперь к делу. REG-файлREG-файл - это текстовый файл с расширением REG, составленный в определенном формате. Формат REG-файлаНиже приводится пример REG-файла, отключающего меню недавних документов. Windows Registry Editor Version 5.00
;Отключить меню недавних документов [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoRecentDocsMenu"=hex:01,00,00,00
Создание REG-файлаСоздать
REG-файл очень просто. Скопируйте код в любой текстовый редактор
(например, Блокнот). Нажмите CTRL+S и сохраните файл с любым именем и
расширением .reg, заключая оба в кавычки. Рисунок 2 - Создание REG-файла
Синтаксис REG-файла- Windows Registry Editor Version 5.00
- заголовок файла, являющийся его неотъемлемой частью. Также в качестве
заголовка вы можете встретить REGEDIT4 - это формат Windows 98 / NT
4.0, который впрочем поймут и более новые операционные системы Windows.
Подробнее о различиях в форматах можно прочитать на сайте JSO FAQ (на английском языке).
- ;Отключить меню недавних документов - комментарий. Все строки, начинающиеся с ; (точка с запятой) представляют собой комментарии.
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
- это раздел реестра. Графически (в редакторе реестра) он представляет
собой путь к параметру. В формате REG-файлов разделы всегда заключаются
в квадратные скобки. В этом примере (под)раздел Explorer принадлежит
разделу HKEY_CURRENT_USER.
- "NoRecentDocsMenu"=hex:01,00,00,00
- параметр реестра и его значение. В зависимости от значения параметра,
меняется поведение операционной системы или объекта. Многие параметры
можно настроить в графическом интерфейсе операционной системы, но
далеко не все. В таких случаях для изменения параметра используют
редакторы реестра, твикеры или REG-файлы.
В REG-файле может содержаться несколько разделов и параметров реестра, но заголовок используется только в самом начале. Пример: Windows Registry Editor Version 5.00
;Отключить перезагрузку в случае BSOD [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] "AutoReboot"=dword:00000000
;Отключить уведомление на экране приветствия о непрочитанных сообщениях [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UnreadMail] "MessageExpiryDays"=dword:00000000 Данный
REG-файлом был получен путем экспорта из редактора реестра regedit.exe.
При помощи REG-файлов можно вносить изменения в системный реестр - эта
операция называется импортом параметров реестра. Экспорт параметров реестраЭкспорт
параметров реестра является несложной задачей. Как правило, параметры
экспортируют перед внесением изменений в реестр (резервное
копирование), либо для того чтобы создать REG-файл для последующего
импорта в реестр другого компьютера или при автоматической установке
системы. Экспортировать параметры реестра можно различными способами. Редактор реестра Windows (regedit.exe)В состав ОС Windows входит программа для редактирования реестра - regedit.exe.
Поскольку она располагается в системном каталоге, для ее запуска в
командной строке не нужно указывать полный путь (например, достаточно
будет такой последовательности: Пуск - Выполнить - regedit - OK). Для
того чтобы экспортировать раздел реестра, достаточно щелкнуть по нему
правой кнопкой мыши и выбрать из контекстного меню команду Экспортировать (в Windows 2000 эта команда расположена в меню Файл). Другие редакторы реестраСуществует
великое множество программ для внесения изменений в системный реестр,
которые также обладают возможностью экспорта параметров. Если Вы часто
работаете с реестром, то Вам, наверняка, пригодится программа,
обладающая адресной строкой. В адресную строку можно вставить
скопированный (из статьи или из сообщения на форуме) раздел реестра и
быстро перейти к нужному параметру. Примером такой программы может
служить RegWorks. Командная строкаИз командной строки экспорт параметров реестра можно выполнить при помощи команды REG EXPORT, обладающей следующим синтаксисом. REG EXPORT
Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. Имя файла на диске для экспорта.
Примеры:
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg Экспортирует все подразделы и значения параметров раздела MyApp в файл AppBkUp.reg Импорт параметров реестраИмпорт параметров реестра можно осуществить несколькими способами. Запуск REG-файла при помощи графического интерфейсаЭто
самый простой способ. Он заключается в запуске REG-файла, содержащего
необходимые параметры, двойным щелчком мыши или из командной строки. Двойной щелчок мышиКак
это ни тривиально звучит, но двойным щелчком мыши на REG-файле можно
внести изменения в реестр. Правда, сначала система уточнит,
действительно ли вы хотите это сделать. В случае положительного ответа
изменения будут внесены. Рисунок 3 - Система запрашивает подтверждение на внесение изменений.
Из-за
этого запроса такой способ не подходит для импорта параметров в реестр
во время автоматической установки системы. Но есть и другие способы. Командная строкаДля импорта REG-файлов из командной строки существует команда REGEDIT. Набрав в командной строке REGEDIT C:\hklm.reg Вы
получите точно такое же диалоговое окно, как при двойном щелчке мыши.
Подавить появление диалогового окна можно запустив команду с параметром
/S. Именно этот способ чаще всего применяется во время автоматической установки Windows. REGEDIT /S C:\hklm.reg Команда REG ADDПри помощи команды REG ADD
также можно импортировать параметры реестра. Она удобна тем, что
команды для импорта параметров можно включить в состав пакетного файла,
выполняющего также и другие задачи (т. е. нет необходимости в
дополнительном REG-файле). Например, эта команда нередко применяется
для импорта значений реестра в раздел RunOnceEx и последующей установки программ при первом входе в систему. Синтаксис команды достаточно прост. REG ADD [/v | /ve] [/t ] [/s ] [/d ] [/f]
[\\\] Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. На удаленных компьютерах доступны только разделы HKLM и HKU. Полный путь к разделу реестра в виде КОРЕНЬ\Подраздел. Корневой радел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе.
/v Имя добавляемого параметра в указанном разделе.
/ve Добавить пустой параметр (По умолчанию) в указанный раздел.
/t Типы данных. [REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] По умолчанию, считается равным REG_SZ.
/s Определяет разделитель, который используется для разделения данных в многострочных параметрах типа REG_MULTI_SZ. По умолчанию, считается равным "\0".
/d Значение, присеваемое добавляемому параметру реестра. /f Принудительно перезаписывать существующие записи реестра без предупреждения.
Примеры:
REG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленный компьютер ABC
REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр с именем: Data, типом: REG_BINARY, и значением: fe340ead
REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр с именем: MRU, типом: REG_MUTLI_SZ, и значением: fax\0mail\0\0
REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% Добавляет параметр с именем: Path, типом: REG_EXPAND_SZ, и значением: %systemroot% Примечание: Используйте в строке двойные символы процента ( %% ) INF-файлИмпортировать
параметры в реестр можно и при помощи INF-файлов. Их общий синтаксис
несколько сложнее, чем у REG-файлов, но непосредственно запись в реестр
осуществляется достаточно просто. Ниже приводится пример из аддона
Msgina [Version] Signature="$Windows NT$"
[Optional Components] Msgina
[Msgina] OptionDesc="Msgina" Tip="Библиотека GINA входа в систему" Modes=0,1,2,3 AddReg=Msgina.AddReg
[Msgina.AddReg] HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","ShowHibernateButton",0x10001,1 HKLM,"Software\Policies\Microsoft\Windows\System\Shutdown","HibernateAsButton",0x10001,1 Примечание. Дополнительную информацию об INF-файлах можно найти в подробном руководстве.
Источник: http://www.oszone.net/6176 |