Тонкости реестра Windows Vista. Трюки и эффекты
Шрифт:
Между REG-файлами со старым и новым заголовком существует еще одно отличие: в REG-файлах с новым заголовком строковые переменные записываются в кодировке Unicode, тогда как в REG-файлах со старым заголовоком используется стандартная кодировка ASCII. Это отличие не важно, если вы создаете REG-файл вручную. Однако, если вы выполняете экспортирование в REG-файл с помощью программы Редактор реестра, следует учитывать то, что REG-файлы с новым заголовком будут иметь больший размер, чем REG-файлы с заголовком REGEDIT4 (при самых худших условиях, то есть если все экспортируемые в REG-файл параметры имеют строковый тип, размер REG-файла с новым заголовком будет в два раза больше).
По умолчанию при экспортировании содержимого ветви реестра в REG-файл программа
Пример REG-файла
Рассмотрим содержимое одного из файлов реестра на примере части REG-файла раздела HKEY_CURRENT_USER\Control Panel\Mouse.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Mouse]
"ActiveWindowTracking"=dword:00000000
"DoubleClickHeight"="4"
"SmoothMouseXCurve"=hex:00,00,00,00,00,00,00,00,15,6e,00,00,\
00,00,00,00,00,40,01,00,00,00,00,00,29,dc,03,00,00,00,00,00,\
00,00,28,00,00,00,00,00
После первой строки текста REG-файла (заголовка) обязательно должна следовать пустая строка. Затем в квадратных скобках указывается раздел системного реестра, к которому относятся редактируемые параметры (в качестве разделителя между объектами реестра используется символ \). Далее следует перечисление параметров редактируемого раздела с указанием имени параметра, типа данных и значения параметра (каждый параметр отображается в отдельной строке текста файла). При этом соблюдаются следующие правила: имя параметра заключается в кавычки, затем после знака равенства указывается тип данных, далее после двоеточия – значение параметра. Если же тип данных не указан, то по умолчанию соответствующий параметр считается строковым и его значение заключается в кавычки. Последняя строка REG-файла должна оставаться пустой.
Редактирование текста REG-файла осуществляется по обычным правилам работы с текстовыми файлами. Кроме того, с помощью REG-файла можно удалять элементы системного реестра. Например, чтобы удалить раздел реестра, необходимо перед его именем в тексте REG-файла поставить знак «минус»:
[-HKEY_CURRENT_USER\Control Panel\Mouse]
Примечание
Следует учитывать, что удаление раздела невозможно до тех пор, пока не удалены все входящие в его состав подразделы, поэтому сначала необходимо произвести подобную операцию с ними.
Для удаления значения параметра следует поставить знак – после знака =:
«SnapToDefaultButton»=–
Сделанные изменения будут перенесены в реестр после импорта отредактированного REG-файла.
1.5. Резервное копирование и восстановление реестра
Характерной особенностью реестра Windows является то, что, в отличие от большинства других программ, при его редактировании система не спрашивает, желает ли пользователь сохранить внесенные изменения. Поэтому в процессе работы с реестром следует помнить, что все внесенные корректировки невозможно отменить. Поскольку системный реестр является одним из главных компонентов Windows, необходимо перед началом редактирования создать его резервную копию, к которой можно будет вернуться в случае внесения в реестр ошибочных изменений. В этом разделе мы кратко остановимся на двух наиболее популярных способах сохранения резервной копии.
Архивирование в REG-файл
Самым простым способом является создание резервной копии с помощью Редактора реестра. В левой панели окна редактора следует установить указатель мыши на ветвь Компьютер (в этом случае будет сохранен весь реестр; если необходимо сделать копию какой-либо его части, то нужно выделить ее указателем) и выполнить команду Файл ->
Создание куста реестра
Более удобным и одновременно более сложным способом архивирования части реестра является создание куста реестра. Кустом реестра называется ветвь или корневой раздел, которые хранятся в отдельном файле. Собственно, сам реестр операционных систем семейства Windows хранится в виде отдельных кустов (расположенных в каталоге %systemroot%\system32\config), поэтому, создавая куст, вы фактически создаете часть реестра, которую впоследствии можно будет загрузить в Редактор реестра.
Чтобы создать куст реестра, необходимо воспользоваться командой вида reg save <ветвь реестра> <файл>. Например, архивирование корневого раздела HKEY_CURRENT_USER в файл MyHKEY_CURRENT_USER.hiv, расположенный в каталоге c:, выполняется с помощью команды reg save HKEY_CURRENT_USER c:\MyHKEY_CURRENT_USER.hiv.
Впоследствии вы всегда сможете восстановить содержимое ветви реестра из созданного ранее куста. Для этого предназначена команда вида reg restore <ветвь реестра> <файл>. Например, reg restore HKEY_CURRENT_USER c:\MyHKEY_CURRENT_USER.hiv.
Создание и восстановление из куста реестра выполняется намного быстрее, чем создание и восстановление из REG-файла. Однако это еще не все преимущества использования кустов реестра.
Главным преимуществом данного способа архивирования является то, что вы в любой момент сможете воспользоваться программой Редактор реестра, чтобы отредактировать содержимое созданного ранее куста. Например, изменить значение какого-либо параметра, создать или удалить параметр или ветвь реестра и т. д. В общем, выполнить над кустом любую операцию, которую можно выполнить над самим реестром. Для этого нужно запустить программу regedit.exe, после чего выделить один из основных корневых разделов реестра (например, HKEY_LOCAL_MACHINE), а потом воспользоваться командой меню Файл -> Загрузить куст. Это приведет к отображению нескольких окон. В первом из них нужно выбрать файл куста реестра, который вы хотите загрузить. Во втором же нужно ввести какое-либо имя, под которым этот куст будет отображаться в выделенном вами корневом разделе (то есть в корневом разделе HKEY_LOCAL_MACHINE). Например, можно ввести имя HKEY_CURRENT_USER. Результат действий представлен на рис. 1.6.
Рис. 1.6. Созданный ранее куст реестра, загруженный в программу Редактор реестра для дальнейшей модификации
После того как вы поработали с загруженным кустом, его необходимо выгрузить. Для этого выберите добавленный куст реестра (то есть выделите раздел с именем, которое вы указали при загрузке куста реестра), после чего воспользуйтесь командой меню Файл -> Выгрузить куст. В принципе, этого можно и не делать – операционная система сама выгрузит ваш куст при завершении работы компьютера. Однако вы должны понимать, что загруженный вами куст, если вы его не выгрузите, будет находиться в оперативной памяти вплоть до следующей перезагрузки/выключения компьютера.