REG-файлы. Назначение и использование.
С помощью REG-файла можно вносить свои изменения в реестр: добавлять или изменять значения, удалять или создавать новые ключи. Подробнее в данном материале...

Reg-файлы служат для экспорта и импорта данных реестра. Файл реестра может быть импортирован назад в реестр не только с помощью Редактора реестра, но и путем простого двойного щелчка мышью по нему. По умолчанию для файлов с расширением .reg установлена команда внесения их содержимого в реестр. Выполнены они в текстовом формате. Их можно просматривать и редактировать в блокноте или другом текстовом редакторе.

В начале любого Reg-файла находиться строка REGEDIT4 или Windows Registry Editor Version 5.00 в зависимости от операционной системы. Без этой строки файл не может считаться экспортированным фрагментом реестра и превращается в простой текстовый. Вторая строка обычно остается пустой. Далее находятся ключи, вносимые в реестр. Для каждого вносимого в реестр имени раздела должна быть выделена отдельная строка. Полное имя раздела помещается в квадратные скобки:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet]

Имена параметров и их значения располагаются на следующей строке. Значения строковых параметров должны располагаться в кавычках, параметры - всегда в кавычках: "Параметр"="0"

Значения параметров типа Dword - в виде шестнадцатеричной строки dword:00000000 (без кавычек): "Параметр"=dword:00000000

Значения двоичных параметров - в шестнадцатеричной системе в виде строки hex:88,00,00,00 (без кавычек): "Параметр"=hex:88,00,00,00

Если в значении строкового параметра встречается символ \ (косая черточка), то он заменяется (в экспортированном файле реестра) на пару таких символов. Сам символ \ используется для переноса слишком длинных строк.

Имя каждого раздела или подраздела, вносимого в реестр, независимо от его иерархического расположения, должно писаться полностью и на отдельной строке. Между описаниями каждого из разделов и в конце файла должно находиться по одной пустой строке.

Символ "@" соответствует параметру "По умолчанию".

С помощью REG-файла можно также и удалять записи из системного реестра. Для этого нужно перед именем раздела поставить символ (-) (минус):

[-HKEY_LOCAL_MACHINE\System\CurrentControlSet]

Будьте очень осторожны, используя такое удаление. В данном примере удаляются все параметры и значения ключа реестра CurrentControlSet. Для эксперимента создайте свой раздел, а потом попробуйте его удалить с помощью файла реестра.

REG-файлы могут включать любые ваши комментарии. Для этого нужно перед текстом поставить символ (;) - точку с запятой.

Следующий пример показывает допустимый формат для REG-файла:

Windows Registry Editor Version 5.00

;Пример добавляет в контекстное меню проводника Windows пункт "Открыть в &Блокноте" для всех типов файлов.
[HKEY_CLASSES_ROOT\*\Shell\Открыть в &Блокноте\command]
@="notepad.exe %1"

Вы можете также создать свое расширение файла. Для примера рассмотрим следующий код. Здесь добавляется расширение файла .LEN.

Windows Registry Editor Version 5.00

;Создаем новое расширение .len
[HKEY_CLASSES_ROOT\.len]
;Идентификатор расширения - lenFile
@="lenFile"
;Файл .len будет содержать текстовую информацию - text/plain
"Content Type"="text/plain"

;Создаем раздел lenFile
[HKEY_CLASSES_ROOT\lenFile]
;Регистрируем файл как Документ LENIN INC
@="Документ LENIN INC"

;Создаем подраздел DefaultIcon
[HKEY_CLASSES_ROOT\lenFile\DefaultIcon]
;Присваеваем файлу значок, который находиться первым в библиотеки значков Monsters.icl.
;Отсчет идет с нуля, т.е. идентификатор первого значка - 0.
@="C:\\Icon Library\\Monsters.icl,0"

;Создаем подраздел shell
[HKEY_CLASSES_ROOT\lenFile\shell]
@=""

;Создаем подраздел open
[HKEY_CLASSES_ROOT\lenFile\shell\open]
@=""

;Создаем подраздел command
[HKEY_CLASSES_ROOT\lenFile\shell\open\command]
;Файлы .LEN по умолчанию будут открываться в Блокноте (Notepad.exe).
:Значение %1 нужно, чтобы открывался не просто Блокнот, а определенный файл в нем.
@="Notepad.exe %1"

Обратите внимание - выделенная синим часть значение по умолчанию "lenFile" обязательно должна совпадать с расширением файла ".len" или с тем, которое вы придумаете.

Если будет необходимость выполнить REG-файл в командной строке, используйте следующую конструкцию:

REGEDIT Example.reg

При этом будет отображен запрос хотите ли Вы добавить информацию в реестр. Для запрета вывода подтверждения, используйте ключ /s.

REGEDIT /s Example.reg

Можно использовать "/" или "-" обозначение ключа, регистр букв значения не имеет.

Copyright © 2002-2008 by Vladimir Drigalkin aka LENIN INC. All Rights Reserved.