Глава 1. Приступаем к изучению реестра Windows 7

Прежде чем мы начнем разбирать примеры с настройками Windows в реестре, надо понять, а что такое вообще реестр.

Реестр – это база данных Windows. Она содержит сведения, без которых нормальная работа системы невозможна. Здесь есть данные об оборудовании и программах и их параметрах, о профилях учетных записей пользователей компьютеров. Операционная система и другое ПО постоянно работают с реестром. Реестр, кроме того, является частой мишенью для вредоносного ПО.

Реестр является важным компонентом, в который не следует вносить изменения без крайней нужды. Но тем не менее в некоторых случаях без вмешательства в реестр не обойтись.

ВНИМАНИЕ

Особо хочу обратить ваше внимание на то, что перед внесением изменений в реестр нужно обязательно делать его резервные копии или создавать точку восстановления системы. Изменяя реестр, редактируйте лишь те его параметры, которые вам знакомы, и лишь тогда, когда это вам действительно нужно.

На своем опыте я не раз убеждался в правильности этих рекомендаций.

Редактор реестра

Итак, если реестр – это база данных Windows, то нужен определенный инструмент для работы с данной базой. Таким инструментом в Windows является Редактор реестра. Обратите внимание, что ярлык данной программы вы не найдете на Рабочем столе, а также в меню кнопки Пуск. Обычный пользователь не должен знать о существовании данной программы. Поэтому поступим следующим образом. Нажмем кнопку Пуск и в строке поиска наберем слово regedit. Вы увидите в разделе Программы пункт regedit.exe (рис. 1.1). Это и есть файл редактора реестра Windows, которым мы будем пользоваться на протяжении всей книги.


Рис. 1.1. Поиск редактора реестра


Щелкаем на ссылке regedit.exe, чтобы запустить программу. Сначала вы увидите (при стандартных настройках безопасности) окно Контроля учетных записей пользователей UAC с предупреждением. Мы должны согласиться с сообщением, то есть нажать кнопку OK, и наконец-то увидим редактор реестра (рис. 1.2).


Рис. 1.2. Редактор реестра


ПРИМЕЧАНИЕ

Еще один способ запуска редактора реестра или любых других программ, имена исполняемых файлов которых вы знаете, заключается в использовании стандартного средства запуска программ. Выполните команду: Пуск Все программы Стандартные Выполнить. В поле Открыть появившегося окна введите regedit – и редактор реестра будет открыт.

Запуск редактора реестра возможен при наличии соответствующих прав. Запуск программы, требующей повышения привилегий, лишний раз говорит о том, как опасна может быть программа в руках неумелых пользователей.

Теперь рассмотрим саму программу. Ее интерфейс напоминает Проводник. Слева вы видите иерархическое дерево со значками папок – это разделы реестра. Как и в случаях с обычными папками, которые могут содержать вложенные папки, разделы могут иметь вложенные подразделы. В правой части редактора мы видим названия параметров, тип параметров и их значения.

Рассмотрим элементы реестра подробнее.

Корневые разделы

Все параметры реестра Windows 7 сгруппированы в пяти основных разделах (разделы еще называют ключами), называемых корневыми:

1. HKEY_CLASSES_ROOT.

2. HKEY_CURRENT_USER.

3. HKEY_LOCAL_MACHINE.

4. HKEY_USERS.

5. HKEY_CURRENT_CONFIG.

ПРИМЕЧАНИЕ

На самом деле в реестре есть еще один раздел. Он называется HKEY_PERFOMANCE_DATA. Этот раздел хранит сведения о производительности, используется системой и не предназначен для редактирования «вручную». Доступ к нему можно получить только программно.

Все корневые разделы начинаются со слова HKEY и содержат подразделы. Корневые разделы нельзя удалить или переименовать.

Практическое занятие

Выделите мышкой любой из корневых разделов и щелкните правой кнопкой мыши для вызова контекстного меню. Убедитесь, что команды меню Удалить и Переименовать заблоки рованы.

Рассмотрим каждый корневой раздел.

HKEY_CLASSES_ROOT

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

Также раздел содержит информацию о ActiveX-элемен тах, хранит список библиотек типов и много другой системной информации. Например, в этом разделе хранится информация о том, что при двойном щелчке на файле с расширением TXT должен запуститься Блокнот.

У данного раздела имеется псевдоним HKCR, используемый в сценариях и программах. В большинстве случаев данный раздел представляет интерес только для очень опытных программистов.

HKEY_CURRENT_USER

Раздел HKEY_CURRENT_USER содержит информацию о пользователе, работающем с Windows 7 в текущем сеансе, а также о различных настройках системы, относящихся к текущему пользователю: вид Рабочего стола, настройки экрана, принтера, параметры применяемых программ.

Псевдоним у данного раздела HKCU. Данный раздел является наиболее используемым в настройках. Большинство описываемых в этой книге параметров находится именно в данном разделе.

HKEY_LOCAL_MACHINE

Раздел HKEY_LOCAL_MACHINE хранит информацию о конфигурации компьютера (программной и аппаратной), не зависящей от конкретного пользователя. Настройки в этом разделе действительны для всех пользователей данного компьютера.

В качестве псевдонима для данного раздела используется HKLM.

Интересно отметить, что подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Classes является практически полной копией корневого раздела HKEY_CLASSES_ROOT.

Данный раздел является вторым по популярности при ручных настройках. Существует множество параметров, которые работают в разделах HKLM и HKCU, но тем не менее рекомендуется менять настройки для отдельного пользователя в разделе HKCU и не трогать настройки для всех пользователей без острой необходимости.

HKEY_USERS

Раздел HKEY_USERS (псевдоним HKU) содержит информацию о профилях всех пользователей данного компьютера.

Данный раздел практически никогда не используется пользователями. Следует отметить связь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является копией подраздела корневого раздела HKEY_USERS, хранящего сведения о текущем пользователе.

Назначение этого раздела нередко интерпретируется неправильно. Разберем его составляющие чуть подробнее. В данном разделе можно увидеть несколько подразделов определенного образца (рис. 1.3).


Рис. 1.3. Подразделы раздела HKEY_USERS


HKEY_USERS\.DEFAULT

Некоторые пользователи ошибочно считают, что раздел HKEY_USERS\.DEFAULT можно использовать для импортирования параметров HKCU, рассчитывая применить их ко всем пользователям. Возможно, что в некоторых случаях это сработает. Однако HKEY_USERS\.DEFAULT скорее относится к настройкам, регулирующим процессы до входа пользователя в систему (например, раскладка клавиатуры по умолчанию).

HKEY_USERS\S-[длинный набор цифр]

Также в разделе HKEY_USERS может находиться несколько подразделов с наборами цифр. Длинный набор цифр – это SID (идентификатор безопасности). Идентификатор безопасности присваивается каждой учетной записи, поэтому количество таких подразделов зависит от количества пользователей, когда-либо входивших в систему. Чтобы узнать, свой SID в системе, можно использовать несколько способов. Например, можно запустить утилиту командной строки whoami.exe, которая входит в состав Windows 7, с параметром /user:

whoami /user

Для выполнения этой команды сначала запустите интерпретатор командной строки командой Пуск ► Все программы ► Стандартные ► Выполнить, введя в поле Открыть появившегося окна команду cmd.exe или просто cmd. Откроется окно, в котором и нужно ввести вышеописанную команду, нажав после ее ввода клавишу Enter (рис. 1.4).

Также можно посмотреть раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, который содержит список всех SID в виде подразделов. Просмотрите все подразделы и ищите в них параметр ProfilelmagePath. Ваш SID тот, в котором значение этого параметра совпадает с именем, под которым вы входите в систему (рис. 1.5).


Рис. 1.4. Использование командной строки Windows


Рис. 1.5. Просмотр параметра ProfileImagePath


HKEY_CURRENT_CONFIG

Корневой раздел HKEY_CURRENT_CONFIG (псевдоним HKCC) хранит информацию о настройках оборудования, которое используется компьютером в текущем сеансе работы. Он также является копией подраздела HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware-Profiles. Этот раздел практически не используется разработчиками в программах и сценариях.

Итак, мы рассмотрели все виды корневых разделов. Каждых из них имеет множество вложенных разделов (подразделов). Их количество у каждого компьютера различно. Это связано с тем, что каждый пользователь устанавливает на компьютер свои любимые программы и игры. Если установка приложения происходит через специальные установочные программы – инсталляторы (Setup.exe, Install.exe и т. п.), то в реестр добавляются новые подразделы и параметры. Позже вы на учитесь находить подобные разделы и изменять их по своему желанию.

Физическое расположение реестра

Сам реестр физически состоит из нескольких файлов, расположенных в папке %SystemRoot%\System32\Config. Часть файлов для раздела HKEY_CURRENT_USER хранится в папке %SystemRoot%\Profiles\Имя_пользователя. Данные файлы являются защищенными и не представляют практического интереса для пользователя.

Если вам пока непонятно что означает %SystemRoot% – читайте дальше – в следующем разделе мы поговорим о том, что это такое.

Типы параметров

Параметры являются второй важной частью реестра после разделов. Каждый параметр имеет свои имя, значение и тип значения. Рассмотрим наиболее часто используемые типы данных.

► REG_BINARY – двоичные данные (Binary Value) представляют собой набор двоичных данных, доступных для редактирования в шестнадцатеричном формате. Подобный тип данных используется для хранения сведений об аппаратных ресурсах.

► REG_DWORD – целое число (DWORD Value) может задаваться в двоичном, десятичном и шестнадцатеричном форматах. Это один из самых применяемых типов параметров. Очень часто он работает в качестве своеобразного переключателя: 1 – включение (True)/0 – выключение (False). В реестре Windows 7 присутствует два вида DWORD: 32-битное значение и 64-битное значение.

► REG_EXPAND_SZ – расширенная строка (Expandable String Value) используется для ссылок на файлы. Кроме произвольного текста значение параметра такого типа может включать в себя специальные переменные. Во время обработки системой они могут заменяться на определенные значения, например пути к папкам. В таком качестве часто используются следующие переменные:

• %systemroot% – путь к каталогу в котором операционная система хранит свои файлы (например, каталог C:\Windows).

%windir% – похоже на предыдущую переменную. Ее отличие от %systemroot% заключается в том, что переменную %systemroot% переопределить нельзя, а каталог, к которому ведет переменная %windir%, можно изменить с помощью окна Переменные среды (Панель управления ► Система и безопасность ► Система ► Дополнительные параметры системы ► вкладка Дополнительно ► кнопка Переменные среды).

• %systemdrive% – заменяет собой букву системного диска (как правило, диск С:).

• %userprofile% – подставляет путь к каталогу, хранящему профиль текущего пользователя.

• %programfiles% – заменяет собой путь к папке, в которую Windows устанавливает все программы (как правило, C:\Program Files).

• %username% – подставляет имя текущего пользователя, работающего с системой.

• computername% – подставляет имя компьютера (используется при обращении к компьютеру по сети).

► REG_MULTI_SZ – многострочный текст (Multi-String Value) обычно используется для представления списков.

► REG_SZ – текстовая строка (String Value). Это один из самых распространенных типов данных в реестре.

ПРИМЕЧАНИЕ

Существует еще несколько типов данных, используемых в реестре, которые нельзя создать с помощью редактора реестра. Ресурсы этих типов создают программным способом: REG_FULL_RESOURCE_DESCRIPTOR, REG_LINK, REG_NONE, REG_RESOURCE_LIST.

Основные приемы работы с редактором реестра

С помощью редактора реестра мы можем создавать новые разделы (кроме корневых), новые параметры, переименовывать уже существующие разделы и параметры, изменять значения параметров, удалять разделы (кроме корневых) и параметры. Также мы можем создавать архивные копии реестра и восстанавливать реестр из копий. При работе с редактором реестра нужно быть особенно внимательными.

ВНИМАНИЕ

У редактора нет команды отмены последнего действия и все ваши операции необратимы. Поэтому, если вы случайно удалили раздел и забыли, как он назывался, вам уже никто не поможет. Никто – кроме вас самих, если вы, прежде чем выполнять какую-либо операцию с реестром, создадите его архивную копию.

Создание архивной копии реестра

Для того чтобы создать архивную копию реестра, выполните в окне редактора реестра команду Файл Экспорт.

Появится окно для выбора параметров сохранения файла (рис. 1.6).


Рис. 1.6. Создание архивной копии реестра


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

Создавая архивную копию реестра, помните о том, что он имеет весьма значительный объем – около 100 Мбайт или даже больше. Операции экспорта реестра выполняются на современных компьютерах до нескольких минут.

На практике обычно создают архивные копии не всего реестра, а тех ветвей, которые редактируют.

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

В случае неправильного поведения системы после изменения параметров той или иной ветви вы можете быстро ее восстановить, воспользовавшись командой Файл ► Импорт.

Еще один способ обезопасить себя от проблем, связанных с модификацией реестра, – создание точки восстановления системы.

Для того чтобы создать точку восстановления системы, выполните команду Пуск ► Панель управления ► Система и безопасность ► Система ► Защита системы и в появившемся окне (рис. 1.7) нажмите кнопку Создать.

В появившемся после этого окне следует ввести название точки восстановления и нажать кнопку Создать.

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

Окно Восстановление системы построено в виде мастера, который проведет вас по шагам, необходимым для запуска процесса восстановления.


Рис. 1.7. Создание точки восстановления системы


Рис. 1.8. Восстановление системы


ВНИМАНИЕ

Всегда перед модификацией создавайте архивные копии реестра или точку восстановления системы.

Кстати, сохраненные резервные копии реестра желательно не только держать на том же диске, на котором находится система, но и скопировать их на другие надежные носители: другой компьютер, компакт-диск, флешка.

Создание нового раздела

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

Практическое занятие

Запустите редактор реестра. В левом окне программы раскройте раздел HKEYCURRENTUSER. Далее найдите в нем подраздел Software и щелкните на нем правой кнопкой мыши для вызова контекстного меню. Выберите в меню команды Создать ► Раздел. По умолчанию будет создан раздел Новый раздел #1. Сразу присвойте ему новое имя. Напечатайте новое имя для раздела, например Test, и нажмите Enter (рис. 1.9). Если вы случайно переключились на другое окно и имя созданного раздела стало недоступным для редактирования, то не пугайтесь. Щелкните для выделения созданный раздел Новый раздел #1 и в контекстном меню выберите пункт Переименовать (или нажмите клавишу F2). Имя раздела станет доступно для редактирования, и вы сможете его задать.


Рис. 1.9. Создание нового раздела


Создание нового параметра

Теперь давайте научимся создавать новые параметры. Прежде всего необходимо определиться, какой тип будет иметь параметр. Далее необходимо выделить соответствующий раздел и, щелкнув по нему правой кнопкой мыши, выбрать в контекстном меню пункт Создать ► Строковый параметр (или любой другой). Далее вам нужно выбрать нужное имя и установить желаемое значение.

Практическое занятие

Создадим два новых параметра в ранее созданном разделе Test.

Выделите раздел мышкой и нажмите правой клавишей для вызова контекстного меню. Выберите последовательно команды Создать ► Строковый параметр. У вас появится новый параметр Новый параметр #1, готовый к редактированию. Введите вместо имени, предлагаемого по умолчанию, новое имя, например CatName (рис. 1.10), и нажмите клавишу Enter. Вы только что создали новый параметр, у которого еще нет значения.


Рис. 1.10. Создание нового строкового параметра


Дважды щелкните мышкой на созданном параметре (или вызовите контекстное меню и выберите команду Изменить). У вас появится диалоговое окно, в котором вы можете присвоить новое значение для параметра. Введите какое-нибудь слово, например Рыжик, и нажмите клавишу Enter (рис. 1.11).


Рис. 1.11. Изменение значения строкового параметра


Теперь создадим еще один параметр типа DWORD. Попробуем это сделать другим способом. В правой части редактора реестра щелкните правой кнопкой мыши на свободном месте для вызова контекстного меню и выберите команды Создать ► Параметр DWORD (32 бита).

Будет создан новый параметр типа DWORD под именем Новый параметр #1, готовый к редактированию. Напечатайте какое-нибудь имя, например CatAge, и нажмите клавишу Enter. Теперь необходимо присвоить значение этому параметру. Дважды щелкаем по параметру CatAge и вводим в текстовом поле Значение число 8 (рис. 1.12). Обратите внимание, что можно вводить как десятичное значение, так и шестнадцатеричное.


Рис. 1.12. Изменение значения параметра типа DWORD


В данном случае и в той и в другой системе число 8 выглядит одинаково.

Итак, в результате наших действий в разделе Test появилось два новых параметра, CatName и CatAge, с установленными значениями, которые указывают имя кота и его возраст (рис. 1.13).


Рис. 1.13. Новый раздел с двумя созданными параметрами


Экспорт раздела

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

Выше, говоря о создании архивной копии реестра, мы уже затрагивали вопросы экспорта реестра целиком или его отдельных ветвей. Сейчас пришло время попрактиковаться в этом занятии, используя наш сквозной пример.

Практическое занятие

Попробуйте экспортировать только что созданный раздел Test. Найдите и выделите его мышкой в левом окне редактора реестра. Щелкните правой кнопкой мыши для вызова контекстного меню и выберите команду Экспортировать. В открывшемся диалоговом окне укажите имя файла, например cat.reg, для записи настроек раздела и сохраните его на Рабочем столе (рис. 1.14).

Удаление раздела

Удалить раздел не слишком сложно. Просто выделяем нужный раздел и нажимаем клавишу Delete. Также можно удалить при помощи контекстного меню (команда Удалить) или через меню Правка ► Удалить.

Практическое занятие

Удалите созданный ранее раздел Test. Для этого выделите его, нажмите клавишу Delete на клавиатуре или выполните команду контекстного меню раздела Правка ► Удалить. Прежде чем удалить раздел, система запросит у вас подтверждение операции (рис. 1.15).


Рис. 1.14. Экспорт выбранного раздела реестра


Рис. 1.15. Запрос подтверждения на удаление раздела реестра


Ответьте на вопрос, нажав кнопку Да, и раздел будет удален.

Еще раз обращаем ваше внимание на то, что после ошибочного удаления отменить операцию можно только в том случае, если вы заранее позаботились об архивировании реестра или о создании точки восстановления системы.

Импорт параметров

Чтобы восстановить в реестре сохраненные данные, используется операция импорта параметров. Для этого в меню редактора реестра выберите команды Файл ► Импорт... и в диалоговом окне выбора файлов укажите REG-файл для импорта.

Практическое занятие

Откройте меню Файл ► Импорт… и в диалоговом окне найдите файл cat.reg, который был экспортирован в предыдущем примере. В результате появится окно с сообщением, что содержащиеся в файле настройки раздела и параметры успешно добавлены в реестр (рис. 1.16). В этом можно убедиться. Если сразу не видно никаких изменений, то попробуйте нажать клавишу F5 или выбрать меню Вид ► Обновить.


Рис. 1.16. Импортирование настроек реестра


Для того чтобы импортировать REG-файл в реестр, можно просто сделать на нем двойной щелчок мышью. Например, когда мы сделали двойной щелчок мышью на файле cat.reg, который незадолго до этого был выгружен из реестра на Рабочий стол, система вывела предупреждение как на рис. 1.17.


Рис. 1.17. Предупреждение при импорте файла в реестр


Ответив Да на вопрос, вы импортируете файл в реестр.

REG-файл можно импортировать в реестр из командной строки при помощи команды

REGEDIT <имя_файла>

Наберите в командной строке (предполагается, что у вас на диске D: уже есть файл test.reg)

REGEDIT D:\test.reg

На экране появится серия диалоговых окон с предупреждениями, и файл будет импортирован в реестр.

Печать

Редактор реестра позволяет распечатать выбранный раздел на принтере или в файл при помощи команды Файл ► Печать...

Избранное

В редакторе реестра есть очень полезное, ускоряющее работу меню. Оно называется Избранное. C его помощью можно быстро добавить в список нужный раздел, с которым придется часто работать.

Стоит отметить еще такую интересную деталь: при следующем запуске редактора реестра он всегда открывается на том разделе, работа с которым происходила в последний раз.

Практическое занятие

Давайте занесем в Избранное созданный нами раздел Test. Выделите его в редакторе реестра и выберите меню Избранное ► Добавить в избранное... Откроется диалоговое окно Добавление в папку „Избранное“ (рис. 1.18). При желании можно изменить имя по умолчанию для сохранения и щелкнуть на кнопке ОК, чтобы подтвердить наше действие. Теперь щелкните на любом другом разделе и закройте редактор. Откройте редактор реестра снова. В меню Избранное найдите строку Test (или строку с тем именем, под которым раздел был сохранен) и щелкните на ней. Вы сразу перейдете в нужный раздел.


Рис. 1.18. Сохранение раздела в папке Избранное


REG-файл

Можно вносить изменения в реестр путем внесения новых значений для нужных параметров в самом редакторе реестра или при помощи импорта. Но есть и другой способ. Можно заранее подготовить файл в заданном формате, и нужные параметры автоматически установятся в реестре. Для этих целей используются текстовые файлы с расширением REG.

Формат REG-файла

Вот как выглядит пример REG-файла, который позволит создать тот же раздел с параметрами, которые вводились на предыдущих практических занятиях.

Windows Registry Editor Version 5.00Устанавливаем новые параметры для раздела Test

[HKEY_CURRENT_USER\Software\Test]

«CatName»="Рыжик"

«CatAge»=dword:00000008

Синтаксис REG-файлов

Рассмотрим формат REG -файлов. Сначала идет заголовок файла

Windows Registry Editor Version 5.00

Нужно заметить, что в более ранних операционных системах, Windows 98 и Windows NT 4.0, использовался заголовок REGEDIT4. Если у вас сохранились подобные старые файлы, то не пугайтесь. Windows 7 поймет этот файл и корректно обработает информацию. А вот обратный процесс будет недоступен – Windows 98 не сможет распознать новый заголовок и выдаст ошибку. Одна немаловажная деталь – после заголовка обязательно идет пустая строка.

Если вам нужно включить в документ комментарий, чтобы не забыть о назначении параметра, то поставьте вначале символ «;» (точка с запятой). При экспорте раздела Test из прошлого примера никаких комментариев не добавляется. Я это сделал уже после создания REG-файла. Комментарий служит для удобства самого пользователя и в реестр не вносится.

Устанавливаем новые параметры для раздела Test

Далее указывается раздел реестра, который заключается в квадратные скобки. Обратите внимание, что если указанный в файле раздел в реестре не существует, то он будет создан:

[HKEY_CURRENT_USER\Software\Test]

И наконец, последний штрих – вы указываете параметр реестра и его значение:

«CatName»="Рыжик"

В REG-файле может содержаться несколько разделов и параметров реестра, которые пишутся с новой строки, но заголовок используется только один в самом начале. В конце каждого файла также должна присутствовать пустая строка. Как видите, формат REG-файлов совсем не сложен и их можно создавать самостоятельно, не прибегая к помощи других программ.

ПРИМЕЧАНИЕ

Я обратил внимание, что при создании REG-файла при помощи редактора реестра в конец файла вставляются две пустые строки. Я не нашел информации на данный счет в документации, но на всякий случай также добавляю две пустые строки при ручном создании файла. Для экономии бумаги в книге эти строки не отображаются.

Создание REG-файла

Писать REG-файл можно в любом текстовом редакторе, например в Блокноте. Создайте новый текстовый документ, наберите приведенный выше код (рис. 1.19) и сохраните файл с расширением REG.

Если вы хотите потренироваться в создании подобных файлов, то проще сгенерировать их при помощи экспорта из редактора реестра, а затем внести изменения в Блокноте.


Рис. 1.19. Редактирование текста файла в текстовом редакторе


Внесение изменений в реестр при помощи REG-файла

Выше мы уже рассматривали поведение системы при выполнении двойного щелчка по файлу с расширением .REG. При двойном щелчке на REG-файле у вас запускается редактор реестра, которому передается в качестве параметра имя файла.

ВНИМАНИЕ

Перед импортом в реестр REG-файла обязательно сделайте резервную копию реестра или точку восстановления системы!

Данный способ не очень удобен для автоматизации задач. Например, мы хотим создать сценарий автоматической установки системы с использованием REG-файлов. Если таких файлов будет слишком много, то пользователю постоянно придется нажимать кнопку OK, что, согласитесь, не доставит ему удовольствия. Можно подавить появ ление диалогового окна, запустив команду с параметром /S:

REGEDIT /S D:\test.reg

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

C помощью REG-файла также можно удалять разделы. Для этого необходимо поставить знак минуса перед названием раздела. Откроем в Блокноте наш файл cat.reg и внесем следующие изменения:

Windows Registry Editor Version 5.00ставим минус для удаления раздела

[-HKEY_CURRENT_USER\Software\Test]

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

ВНИМАНИЕ

Обратите внимание, что удалять можно только те разделы, которые не содержат в себе подразделов. В противном случае необходимо последовательно удалить все входящие в его состав подразделы и только потом приступать к удалению нужного раздела.

Также можно удалить параметр. Для этого следует поставить знак минуса (–) после знака равенства (=):

Windows-Registry-Editor-Version-5.00Удаляем параметр из раздела Test

[HKEY_CURRENT_USER\Software\Test]

«CatName»="Рыжик"

«CatAge»=-

Снова проверьте, что такие изменения работают и параметр CatAge был удален.

Утилита командной строки REG.EXE

Кроме редактора реестра, имеющего графический интерфейс, в составе Windows 7 имеется также утилита командной строки REG.EXE, предназначенная для опытных пользователей. С ее помощью можно создавать различные сценарии для выполнения различных задач, связанных с экспортом и импортом разделов реестра.

Экспорт параметров (команда EXPORT)

Для экспорта параметров реестра с помощью командной строки используется команда REG EXPORT, обладающая следующим синтаксисом:

REG EXPORT <имя_раздела> <имя_файла> [/y]

Параметры

► <имя_раздела> – полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел (только для локального компьютера). В качестве корня используются значения HKLM-|-HKCU-|-HKCR-|-HKU-|-HKCC. В качестве подраздела используется полный путь к разделу реестра в выбранном корневом разделе.

► <имя_файла> – имя файла на диске, в котором будут записаны экспортированные записи.

► /y – необязательный параметр. С его помощью можно выводить окно с предупреждением о том, что на диске уже существует файл с таким же именем.

Практическое занятие

Попробуем экспортировать раздел Test, созданный на предыдущих занятиях, при помощи командной строки. Запустите интерпретатор командной строки (cmd.exe). Введите в командной строке следующую строчку (предполагается, что у вас еще нет файла cat.reg на диске D:):

reg export HKCU\Software\Test-d:\cat.reg

В успешном случае на экране появится строчка Операция успешно завершена (рис.1.20). Откройте диск и убедитесь, что данный файл существует (естественно, вы можете самостоятельно выбрать диск и имя файла для данного примера).


Рис. 1.20. Экспорт настроек реестра при помощи командной строки


Добавление параметров (команда ADD)

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

REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]

Параметры

► имя_раздела-[\\<компьютер>\]<раздел>.

<компьютер> – имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU.

<раздел> – КОРЕНЬ\<подраздел>. В качестве корня используется одно из значений: HKLM | HKCU | HKCR | HKU | HKCC. В качестве подраздела используется полное имя подраздела реестра в указанном корневом разделе.

► /v – имя параметра, добавляемого в выбранный раздел.

► /ve – добавление параметра с пустым именем (по умолчанию) в этот раздел.

► /t – тип данных. Может использоваться одно из следующих значений: REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ | REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE. Если не указывается, то по умолчанию используется REG_SZ.

► /s – символ, используемый в качестве разделителя данных для параметров типа REG_MULTI_SZ. Если не указан, то в качестве разделителя используется \0.

► /d – значение, присваиваемое добавляемому параметру реестра.

► /f – выполнение замены существующих записей без запроса подтверждения.

Для добавления нового раздела HKCU\Software\Test на удаленном компьютере BOSS введите в командной строке следующее:

REG ADD \\BOSS\HKCU\Software\Test

У утилиты командной строки REG.EXE есть множество других ключей для работы с реестром: QUERY, DELETE, COPY, SAVE, RESTORE, LOAD, UNLOAD, COMPARE, IMPORT. Узнать о них вы можете из справочной документации.

Практическое занятие

Если вы не помните ту или иную операцию у утилиты REG.EXE, то воспользуйтесь ключом /?. Запустите командную строку CMD.EXE и введите сначала команду

reg /?

Вы увидите список всех доступных операций, а также подсказки, как получить дополнительную информацию о каждой операции (рис. 1.21).


Рис. 1.21. Получение справки об операциях утилиты REG EXE


Например, нас интересует операция импорта. Тогда там же в командной строке вводим следующую команду:

reg import /?

После выполнения такой команды на экране отобразится краткая справочная информация по ней.

Заключение

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

Загрузка...