• Группировка данных в реестре
• Типы данных, используемые в реестре
• Общие правила работы с реестром
• Использование REG-файлов
• Резервное копирование и восстановление реестра
Эффективность эксплуатации любого программного продукта во многом зависит от того, насколько грамотно и корректно была произведена его настройка. Обычно параметры настройки собраны в специальной базе данных, являющейся одним из основных компонентов программы. В операционной системе Windows такая база данных называется системным реестром, содержимое которого мы кратко рассмотрим в этой главе.
1.1. Группировка данных в реестре
Все параметры системного реестра WindowsVis ta в зависимости от их функционального назначения сгруппированы в пяти основных разделах, называемых корневыми.
Кратко остановимся на каждом из них (надо отметить, что название каждого раздела начинается с английской аббревиатуры HKEY).
• HKEY_CLASSES_ROOT – включает в себя информацию о зарегистрированных в системе типах файлов, порядке обработки файлов каждого типа, а также управлении основными настройками интерфейса (то есть содержит настройки ActiveX-объектов).
Кроме того, данный корневой раздел содержит сведения о программных пакетах MSI, которые были установлены в операционной системе, определяет список программ окна Открыть с помощью, а также хранит список интерфейсов (библиотек типов), которыми можно пользоваться при программировании под Windows.
• HKEY_CURRENT_USER – содержит информацию о пользователе, работающем с Windows Vista в текущем сеансе, а также о различных настройках системы, относящихся к текущему пользователю (вид Рабочего стола, сетевые соединения, принтеры и др.).
• HKEY_LOCAL_MACHINE – хранит информацию об аппаратной конфигурации компьютера и установленном программном обеспечении. Настройки раздела действительны для всех пользователей данного компьютера. Надо сказать, что по объему информации этот раздел является самым большим, если сравнивать с другими разделами реестра Windows Vista.
Нужно отметить тесную взаимосвязь данного корневого раздела с разделом HKEY_CLASSES_ROOT. Фактически HKEY_CLASSES_ROOT является ссылкой на ветвь реестра HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
• HKEY_USERS – включает в себя информацию обо всех пользователях данного компьютера.
Следует отметить тесную взаимосвязь данного корневого раздела с разделом HKEY_CURRENT_USER, который фактически является ссылкой на подраздел корневого раздела HKEY_USERS, хранящий сведения о текущем пользователе.
• HKEY_CURRENT_CONFIG – хранит информацию о настройках оборудования, которое используется локальным компьютером в текущем сеансе работы.
Надо сказать, что данный корневой раздел является ссылкой на подраздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles.
В целом структура реестра представлена в иерархическом порядке: каждый из перечисленных разделов имеет ряд подчиненных уровней иерархии, нижней ступенью которой являются параметры настройки системного реестра.
Примером иерархии можно считать указанный выше подраздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles. Он начинается с корневого раздела HKEY_LOCAL_MACHINE. Подраздел SYSTEM находится в корневом разделе HKEY_LOCAL_MACHINE и является подчиненным ему. Подраздел CurrentControlSet находится в подразделе SYSTEM и т. д.
1.2. Типы данных, используемые в реестре
Рассмотрим наиболее часто используемые в реестре Windows Vista типы данных.
• REG_BINARY – двоичные данные. Этот тип данных используется, например, для хранения сведений об аппаратных ресурсах; сведения выводятся в Редакторе реестра в шестнадцатеричном формате.
• REG_DWORD – целое число. Может использоваться, например, в качестве переключателя (1 – включение, 0 – выключение некоторого действия); могут применяться и другие числа. Возможно представление этого типа данных в двоичном, десятичном и шестнадцатеричном формате. Этот тип данных используется, например, в параметрах драйверов устройств.
• REG_EXPAND_SZ – расширенная строка. Этот тип данных используется в Windows для ссылок на файлы. Кроме произвольного текста значение параметра такого типа может включать в себя специальные переменные, заменяющиеся определенными путями к каталогам во время своей «интерпретации». Например, значение параметра данного типа может содержать такие специальные переменные.
– %systemroot% – заменяет собой путь к каталогу, в котором операционная система хранит свои файлы (например, каталог C: \Windows).
– %windir% – является эквивалентом предыдущей переменной. Ее отличие от %systemroot% заключается в том, что переменную %systemroot% переопределить нельзя, а каталог, к которому ведет переменная %windir%, можно изменить с помощью окна Переменные среды, вызываемого нажатием соответствующей кнопки на вкладке Дополнительно окна Свойства системы.