Тонкости реестра Windows Vista. Трюки и эффекты - Роман Клименко


Роман Клименко

Тонкости реестра Windows Vista. Трюки и эффекты

Введение

Как известно, реестр является одной из главных составных частей операционных систем семейства Windows и во многом определяет их работу. Несмотря на это многие пользователи эксплуатируют Windows, даже не подозревая о существовании системного реестра. В первую очередь это обусловлено тем, что некоторые наиболее часто применяемые пользовательские настройки доступны для редактирования за пределами реестра (например, через Панель управления). «Непродвинутый» пользователь может и не догадываться, что при изменении параметров работы мыши, клавиатуры, монитора и других устройств соответствующие изменения автоматически вносятся в системный реестр. Но следует отметить, что пользователю и не всегда нужно об этом знать, поскольку работа с реестром относится, скорее, к сфере деятельности системного администратора.

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

Помимо описания разнообразных приемов редактирования системного реестра, книга включает в себя информацию о специально разработанных утилитах, предназначенных для работы с ним. Кроме того, в гл. 6 в режиме «вопрос – ответ» кратко описаны некоторые затруднительные ситуации, которые могут возникать при работе с реестром Windows Vista, и даны рекомендации по выходу из подобных ситуаций.

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты dgurski@minsk.piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1

Основные понятия о реестре Windows Vista

• Группировка данных в реестре

• Типы данных, используемые в реестре

• Общие правила работы с реестром

• Использование 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%, можно изменить с помощью окна Переменные среды, вызываемого нажатием соответствующей кнопки на вкладке Дополнительно окна Свойства системы.

– %systemdrive% – заменяет собой букву системного диска (диска, в котором операционная система хранит свои файлы).

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

– %programfiles% – заменяет собой путь к каталогу, в который операционная система по умолчанию устанавливает все программы.

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

– %computername% – как и предыдущая переменная, она не имеет никакого отношения к файловой системе Windows. Эта переменная заменяет собой имя компьютера (именно это имя используется при обращении к компьютеру по сети и хранится в строковом параметре ComputerName ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName).

• REG_MULTI_SZ – многострочный текст (массив строк). Этот тип обычно используется для представления списков и иных подобных записей в удобном для чтения формате.

• REG_SZ – текстовая строка. Данные этого типа используются в реестре чаще всего.

• REG_FULL_RESOURCE_DESCRIPTOR – последовательность вложенных массивов, предназначенная для хранения списка ресурсов устройств или драйверов.

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

• REG_LINK – строковый тип данных, предназначенный для указания пути к файлам. С помощью программы regedit параметры данного типа создать нельзя (но их также можно создать с помощью REG-файлов).

Помимо перечисленных выше типов данных, в системном реестре могут использоваться типы REG_NONE, REG_RESOURCE_LIST и др.

1.3. Общие правила работы с реестром

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

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

Редактор системного реестра Windows Vista представляет собой встроенный механизм, предназначенный для просмотра и редактирования параметров реестра. Для запуска Редактора реестра предназначен файл regedit.exe, расположенный в каталоге Windows, однако целесообразнее воспользоваться командой Пуск → Выполнить и в открывшемся окне Запуск программы в поле Открыть ввести regedit.

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

После выполнения команды regedit на экране отображается окно Редактора реестра (рис. 1.1).

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


В левой части данного окна приводится перечень разделов реестра (на рис. 1.1 раскрыт раздел реестра HKEY_CURRENT_USER), в правой части отображаются параметры и их значения. Главное меню окна Редактора реестра включает в себя пункты Файл, Правка, Вид, Избранное и Справка. Кратко остановимся на каждом из них.

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

• Команды меню Правка используются для работы с разделами либо параметрами реестра. Подменю Создать включает в себя команды Раздел, Строковый параметр, Двоичный параметр, Параметр DWORD (32 бита), Параметр QWORD (64 бита), Мультистроковый параметр и Расширяемый строковый параметр, предназначенные для создания соответствующих элементов реестра. С помощью команды Разрешения осуществляется переход в режим просмотра и редактирования разрешения для текущего раздела (при выборе данной команды на экране отображается окно, в котором выполняются необходимые действия). Команды Удалить (выполняется также нажатием клавиши Delete) и Переименовать предназначены для удаления либо переименования текущего элемента реестра соответственно. В результате выполнения команды Копировать имя раздела (Ctrl+C) в буфер обмена будет скопировано имя текущего раздела. Команды Найти (Ctrl+F) и Найти далее (F3) являются стандартными командами Windows; работа с ними ведется по обычным правилам.

• Команды меню Вид предназначены для управления отображением информации, содержащейся в окне Редактора реестра. Команда Строка состояния включает/выключает отображение строки состояния. С помощью команды Разделить включается режим перемещения разделителя левой и правой панелей окна. При необходимости отображения данных в двоичном формате следует воспользоваться командой Вывод двоичных данных (эта функция доступна только в том случае, когда указатель мыши расположен в правой панели окна). С помощью команды Обновить (она выполняется и при нажатии клавиши F5) обновляется окно.

• Команды меню Избранное предназначены для добавления раздела в список избранного либо для удаления его из этого списка.

• С помощью меню Справка можно вызвать справочную информацию о Редакторе реестра.

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

В следующем разделе мы рассмотрим порядок редактирования системного реестра Windows Vista.

Редактирование реестра

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

На рис. 1.2 показано окно, предназначенное для редактирования параметров, имеющих тип данных REG_DWORD либо REG_DWORD_BIG_ENDIAN.

Рис. 1.2. Изменение параметра типа REG_DWORD


В поле Параметр данного окна отображается имя редактируемого параметра. Способ представления его значения выбирается с помощью переключателя Система исчисления; возможные варианты – Шестнадцатеричная либо Десятичная. Редактирование значения параметра производится с клавиатуры в поле Значение. При нажатии кнопки OK измененное значение присваивается параметру. С помощью кнопки Отмена можно закрыть данное окно без сохранения изменений.

На рис. 1.3 приведено окно, в котором производится редактирование параметров с типом данных REG_MULTI_SZ.

Рис. 1.3. Редактирование параметра типа REG_MULTI_SZ


В данном окне в поле Параметр отображается наименование редактируемого параметра, а в поле Значение с клавиатуры вводится требуемое многостроковое значение данного параметра, присваиваемое ему нажатием кнопки OK.

На рис. 1.4 представлено окно, предназначенное для редактирования параметров со следующими типами данных: REG_SZ, REG_EXPAND_SZ, REG_LINK, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST.

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


В поле Параметр данного окна отображается наименование редактируемого параметра, а в поле Значение с клавиатуры вводится его требуемое значение.

Дальше