Как известно, реестр Windows XP является одной из главных составных частей операционной системы, во многом определяющей ее работу. Однако, несмотря на это, многие пользователи эксплуатируют Windows XP, даже не догадываясь о существовании системного реестра. В первую очередь это обусловлено тем, что некоторые наиболее часто используемые пользовательские настройки доступны для редактирования за пределами реестра – к ним относятся, например, настройки, переход в режим редактирования которых выполняется при активизации функции Пуск►Панель управления. Рядовой «непродвинутый» пользователь может даже не догадываться, что при изменении параметров настройки мыши, клавиатуры, монитора и т. п. соответствующие изменения автоматически переносятся в системный реестр; но справедливости ради следует отметить, что ему и не всегда нужно об этом знать, поскольку это уже сфера деятельности системного администратора.
Однако для опытного пользователя не является секретом, что для более тонкой настройки операционной системы и некоторых приложений следует использовать возможности системного реестра. При этом помимо стандартных приемов и способов настройки и редактирования реестра, известных большинству пользователей и неоднократно описанных в соответствующей литературе, полезно знать и уметь выполнять некоторые специфические, нестандартные операции по редактированию системного реестра, с помощью которых можно получить требуемый результат гораздо быстрее и эффектнее. Описанию подобных трюков и посвящена эта книга.
Помимо описания разнообразных приемов по редактированию системного реестра, книга содержит информацию о специально разработанных утилитах, предназначенных для работы с реестром. Кроме этого, в главе "Тонкости и нештатные ситуации" в режиме "вопрос – ответ" приводится краткое описание некоторых затруднительных ситуаций, которые могут возникать при работе с реестром Windows XP, и даются рекомендации по выходу из подобных ситуаций.
Эффективность эксплуатации любого программного продукта во многом зависит от того, насколько грамотно и корректно была произведена его настройка. Обычно параметры настройки собраны в специальной базе данных, которая является одним из основных компонентов программы, во многом определяющим ее работу. В операционной системе Windows такая база данных называется системный реестр, содержимое которого мы кратко рассмотрим в этой главе.
Все параметры системного реестра Windows XP в зависимости от своего функционального назначения сгруппированы в пяти основных разделах. Кратко остановимся на каждом из них (отметим, что название каждого подраздела начинается с английской аббревиатуры HKEY).
♦ HKEY_CLASSES_ROOT – данный раздел включает в себя информацию о зарегистрированных в системе типах файлов, о порядке обработки файлов каждого типа, а также об управлении основными настройками интерфейса.
♦ HKEY_CURRENT_USER – в этом разделе содержится информация о пользователе, работающем с Windows XP в текущем сеансе работы, а также о различных настройках системы, относящихся к текущему пользователю (вид рабочего стола, сетевые соединения, принтеры и др.).
♦ HKEY_LOCAL_MACHINE – раздел содержит информацию об аппаратной конфигурации компьютера и установленном программном обеспечении. Настройки раздела относятся к данному компьютеру и действительны для всех его пользователей. Следует отметить, что этот раздел содержит наибольшее количество информации по сравнению с другими разделами реестра Windows XP.
♦ HKEY_USERS – в раздел включена информация обо всех пользователях данного компьютера. Следует отметить тесную взаимосвязь данного раздела с разделом HKEY_CURRENT_USER, который фактически дублирует один из его подразделов, а именно – тот, который относится к текущему пользователю.
♦ HKEY_CURRENT_CONFIG – в этом разделе содержится информация о настройках оборудования, которое используется локальным компьютером в текущем сеансе работы. Следует отметить тесную взаимосвязь данного раздела с подразделом HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet.
В целом структура реестра представлена в иерархическом порядке – каждый из перечисленных разделов имеет целый ряд подчиненных уровней иерархии, нижней ступенью которой являются параметры настройки системного реестра.
В данном разделе приводится перечень наиболее часто используемых в реестре Windows XP типов данных.
♦ REG_BINARY – двоичные данные. Этот тип данных используется, например, для хранения сведений об аппаратных ресурсах; эти сведения выводятся в редакторе реестра в шестнадцатеричном формате.
♦ REG_DWORD – целое число. Может использоваться, например, в качестве переключателя ("1" – включение, "0" – выключение некоторого действия); могут применяться также и другие числа. Возможно представление этого типа данных в двоичном, десятичном и шестнадцатеричном формате. Используется этот тип данных, например, в параметрах драйверов устройств.
♦ REG_EXPAND_SZ – расширенная строка. Этот тип данных используется в Windows для ссылок на файлы.
♦ REG_MULTI_SZ – многострочный текст (массив строк). Этот тип обычно используется для представления списков и иных подобных записей в удобном для чтения формате.
♦ REG_SZ – текстовая строка. Данные этого типа используются в реестре чаще всего.
♦ REG_FULL_RESOURCE_DESCRIPTOR – последовательность вложенных массивов, предназначенная для хранения списка ресурсов устройств или драйверов.
♦ REG_LINK – строковый тип данных, предназначенный для указания пути к файлам.
Помимо вышеперечисленных типов данных, в системном реестре также могут использоваться типы REG_NONE, REG_RESOURCE_LIST, и др.
Редактирование системного реестра можно выполнять либо вручную, либо с помощью специально предназначенных утилит. Порядок использования утилит будет описан отдельно, в соответствующей главе; здесь же мы подробнее остановимся на ручном редактировании.
Ручное редактирование системного реестра Windows XP выполняется либо средствами редактора реестра, либо с помощью reg–файлов. В последующих разделах мы подробно рассмотрим каждый из этих способов.
Редактор системного реестра Windows XP представляет собой встроенный механизм, предназначенный для просмотра и редактирования параметров реестра. Для запуска редактора реестра предназначен файл regedit. exe, расположенный в каталоге Windows, однако целесообразнее воспользоваться функцией Пуск►Выполнить, и в открывшемся окне Запуск программы в поле Открыть указать regedit.
После выполнения команды regedit на экране отображается окно редактора реестра, изображенное на рис. 1.1.
В левой части данного окна приводится иерархический перечень параметров реестра (на рис. 1.1 раскрыт раздел реестра HKEY_CURRENT_USER), в правой части отображаются значения параметров. Главное меню окна редактора реестра включает в себя меню Файл, Правка, Вид, Избранное и Справка. Кратко остановимся на каждом из них.
В составе меню Файл содержатся функции, предназначенные для работы с реестром в целом. С помощью функций Импорт и Экспорт выполняется соответственно импорт reg–файла в реестр и экспорт реестра целиком либо частично в reg–файл. При активизации данных функций на экране отображается окно, в котором нужно указать путь для выполнения этих действий. При необходимости подключения к реестру удаленного компьютера следует воспользоваться функцией Подключить сетевой реестр; с помощью функции Отключить сетевой реестр выполняется обратное действие.
Рис. 1.1. Редактор реестра
Функции меню Правка используются для работы с разделами реестра либо с его параметрами. Подменю Создать включает в себя функции Раздел, Строковый параметр, Двоичный параметр, Параметр DWORD, Мультистроковый параметр и Расширяемый строковый параметр, предназначенные для создания соответствующих элементов реестра. С помощью функции Разрешения осуществляется переход в режим просмотра и редактирования разрешения для текущего раздела (при активизации данной функции на экране отображается окно, в котором выполняются необходимые действия). Функции Удалить (данная функция активизируется также нажатием кнопки Del) и Переименовать предназначены соответственно для удаления либо переименования текущего элемента реестра. В результате выполнения функции Копировать имя раздела в буфер обмена будет скопировано имя текущего раздела. Функции Найти (Ctrl+F) и Найти далее (F3) являются стандартными функциями Windows; работа с ними ведется по обычным правилам.
Функции меню Вид предназначены для управления отображением содержащейся в окне редактора реестра информации. Функция Строка состояния включает/выключает отображение строки состояния. С помощью функции Разделить включается режим перемещения разделителя левой и правой панелей окна. При необходимости отображения данных в двоичном формате следует воспользоваться функцией Вывод двоичных данных (эта функция доступна только в том случае, когда курсор расположен в правой панели окна). С помощью функции Обновить (она активизируется также нажатием клавиши F5) выполняется обновление окна.
Функции меню Избранное предназначены для добавления раздела в список избранных либо для удаления его из этого списка.
С помощью меню Справка осуществляется вызов справочной информации о редакторе реестра.
Как отмечалось выше, левая панель окна содержит иерархический перечень разделов и параметров реестра. Правая панель окна состоит из колонок: Имя, Тип и Значение, в которых отображается соответствующая информация (имя параметра, тип данных и значение параметра) для активной позиции левой панели данного окна.
В следующем разделе мы рассмотрим порядок редактирования системного реестра Windows XP.
Для перехода в режим редактирования параметра системного реестра следует установить на него курсор и дважды щелкнуть левой кнопкой мыши либо активизировать локальную функцию Изменить. В результате на экране откроется окно редактирования параметра, в котором выполняются необходимые действия. Вид и состав данного окна зависит от типа данных, характерного для значения текущего параметра реестра. Кратко рассмотрим все возможные варианты конфигурации данного окна.
Для редактирования параметров, имеющих тип данных REG_DWORD либо REG_DWORD_BIN_ENDIAN, предназначено окно, изображенное на рис. 1.2.
Рис. 1.2. Изменение параметра типа DWORD
В поле Параметр данного окна отображается имя редактируемого параметра. Способ представления значения параметра выбирается с помощью переключателя Система исчисления; возможные варианты – Шестнадцатеричная либо Десятичная. Редактирование значения параметра выполняется с клавиатуры в поле Значение; нажатием кнопки ОК измененное значение присваивается параметру, а с помощью кнопки Отмена осуществляется выход из данного режима без сохранения изменений.
Редактирование параметров с типом данных REG_MULTI_SZ выполняется в окне, приведенном на рис. 1.3.
Рис. 1.3. Редактирование параметра типа REG_MULTI_SZ
В данном окне в поле Параметр отображается наименование редактируемого параметра, а в поле Значение с клавиатуры вводится требуемое многостроковое значение данного параметра, присваиваемое нажатием кнопки ОК.
В окне, изображенном на рис. 1.4, осуществляется редактирование параметров, значения которых соответствуют следующим типам данных: REG_SZ, REG_EXPAND_SZ, REG_LINK, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST.
Рис. 1.4. Редактирование строкового параметра
В поле Параметр данного окна отображается наименование редактируемого параметра, а в поле Значение с клавиатуры вводится требуемое его значение.
Для редактирования двоичных параметров (т. е. параметров с типом данных REG_BINARY) предназначено окно, изображенное на рис. 1.5.
Рис. 1.5. Редактирование двоичного параметра
В поле Параметр данного окна отображается наименование редактируемого параметра, а в поле Значение с клавиатуры вводится требуемое его значение. При этом нужно учитывать следующую особенность: в левой части поля Значение отображается номер редактируемого байта, а справа от него – восемь битов данного байта, в которые записывается требуемая информация. В режиме редактирования двоичного параметра реализована возможность ввода информации как в двоичной, так и в шестнадцатеричной форме (поразрядно). Нажатием кнопки ОК параметру присваивается введенное значение.
ВНИМАНИЕ
При редактировании системного реестра Windows XP следует соблюдать предельную осторожность! Вносить те либо иные изменения в реестр допускается только в том случае, когда вы абсолютно уверены в последующем отсутствии негативных последствий. Редактор реестра не предусматривает отмены выполненных действий, поэтому перед редактированием реестра обязательно сделайте его резервную копию! Помните, что неквалифицированное изменение системного реестра может повлечь за собой катастрофические последствия для операционной системы.
Следует отметить, что во всех приведенных окнах редактирования значений параметров поле Параметр, содержащее наименование параметра, является нередактируемым. Для изменения имени параметра предназначена локальная функция Переименовать, доступная в правой панели окна редактора реестра при позиционировании на каком либо параметре; также в состав данного локального меню входят функции Изменить, Изменить двоичные данные и Удалить.
В процессе эксплуатации системы могут возникать ситуации, когда редактирование реестра средствами редактора реестра невозможно либо нецелесообразно; в таких случаях следует использовать файлы реестра, которые имеют расширение. reg. В данном разделе мы кратко рассмотрим порядок работы с. reg–файлами.
По своей структуре и содержанию файл реестра представляет собой обычный текстовый файл, поэтому его формирование и редактирование возможно с помощью любого текстового редактора (например, Блокнота). Следует отметить, что для редактирования имеющегося reg–файла целесообразно воспользоваться функцией Файл►Экспорт, которая активизируется в окне редактора реестра. В результате выполнения этой функции требуемый файл (это может быть как файл отдельного раздела или ветви, так и файл реестра целиком) будет экспортирован по указанному пути. После внесения всех необходимых изменений файл импортируется в реестр с помощью функции Файл►Импорт, также вызываемой в окне редактора реестра.
ВНИМАНИЕ
Следует учитывать, что двойной щелчок левой кнопкой мыши на имени файла реестра в проводнике не откроет его для редактирования, а приведет к импорту его в реестр таким же образом, как это произошло бы при выполнении функции Файл►Импорт.
Важной особенностью любого reg–файла системного реестра Windows XP является содержимое его первой строки, которое приведено ниже:
Windows Registry Editor Version 5.00
Содержимое этой строки изменять нельзя ни при каких обстоятельствах, так как только в этом случае система распознает то, что текущий файл содержит данные реестра.
Далее мы рассмотрим содержимое файла реестра на примере reg–файла раздела HKEY_CURRENT_USER\Control Panel\Mouse.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Mouse]
"ActiveWindowTracking"=dword:00000000
"DoubleClickHeight"="4"
"DoubleClickSpeed"="500"
"DoubleClickWidth"="4"
"MouseSensitivity"="14"
"MouseSpeed"="1"
"MouseThreshold1"="6"
"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
"SmoothMouseYCurve"=hex:00,00,00,00,00,00,00,00, b8,5e,01,00,00,00,00,00, cd,4c,\
05,00,00,00,00,00, cd,4c,18,00,00,00,00,00,00,00,38,02,00,00,00,00
"MouseThreshold2"="10"
"SnapToDefaultButton"="0"
"SwapMouseButtons"="0"
"MouseTrails"="0"
После первой строки текста reg–файла, о которой говорилось выше, обязательно должна следовать пустая строка. Затем в квадратных скобках указывается раздел системного реестра, к которому относится редактируемый файл (в качестве разделителя между объектами реестра используется символ \). Далее следует перечисление параметров редактируемого раздела с указанием имени параметра, типа данных и значения параметра (каждый параметр отображается в отдельной строке текста файла). При этом соблюдаются следующие правила: имя параметра заключается в кавычки, затем после знака равенства указывается тип данных, и далее после двоеточия – значение параметра; если же тип данных не указан, то по умолчанию соответствующий параметр считается строковым, и его значение заключается в кавычки. Последняя строка reg–файла должна оставаться пустой.
Редактирование текста reg–файла осуществляется по обычным правилам работы с текстовыми файлами. Кроме этого, следует отметить, что имеется возможность удаления элементов системного реестра с помощью reg–файла. Например, чтобы удалить раздел реестра, необходимо перед его именем в тексте reg–файла поставить знак минуса:
–[HKEY_CURRENT_USER\Control Panel\Mouse]
ПРИМЕЧАНИЕ
Следует учитывать, что удаление раздела невозможно до тех пор, пока не удалены все входящие в его состав подразделы, поэтому сначала необходимо с ними выполнить подобную операцию.
Для удаления значения параметра следует установить знак минуса после знака «равно»:
"SnapToDefaultButton"=–
Выполненные изменения перенесутся в реестр после импорта отредактированного reg–файла.
Характерной особенностью реестра Windows XP является то, что, в отличие от большинства других программ, при его редактировании система не спрашивает, желает ли пользователь сохранить внесенные изменения. Поэтому в процессе работы с реестром следует всегда помнить, что все внесенные в него корректировки являются необратимыми, и просто взять и отменить их будет невозможно. Поскольку системный реестр является одним из главных компонентов Windows XP, необходимо перед его редактированием обязательно сделать резервную копию, к которой всегда можно будет вернуться впоследствии. Создание резервной копии – наиболее приемлемый вариант, позволяющий вернуться к первоначальной конфигурации реестра в случае внесения в него ошибочных изменений и, тем самым, избежать возможных крупных неприятностей. В этой книге мы кратко остановимся на двух наиболее популярных способах сохранения резервной копии реестра.
Наиболее простым способом является создание резервной копии с помощью редактора реестра. В левой панели окна редактора следует установить курсор на ветвь Мой компьютер (в этом случае будет сохранен весь реестр; если необходимо сделать копию какой либо его части – раздела, подраздела и т. п., необходимо выделить ее курсором) и активизировать функцию Файл►Экспорт либо локальную функцию Экспортировать. В результате на экране откроется стандартное окно Экспорт файла реестра, в котором следует указать имя файла и путь для его сохранения, после чего нажать кнопку Сохранить – после этого реестр (либо выделенная ранее его часть) будет сохранен в виде reg–файла (описание порядка работы с reg–файлами приведено в разделе "Использование reg–файлов"). Рекомендуется, помимо сохранения файла реестра на локальном компьютере, сохранить его также на внешнем носителе информации (другой компьютер, компакт–диск и т. п.). Для последующего восстановления системного реестра из сохраненного ранее reg–файла необходимо запустить редактор реестра и активизировать функцию Файл►Импорт – в результате на экране отобразится стандартное окно Импорт файла реестра, в котором следует указать путь для импорта файла.
Также можно выполнять сохранение копии реестра с помощью встроенного системного механизма, специально предназначенного для резервного копирования информации. Для перехода в данный режим необходимо выполнить функцию Пуск►Панель управления►Производительность и обслуживание►Резервное копирование данных. В результате на экране откроется окно мастера архивации и восстановления, в котором, в соответствии с указаниями мастера, в пошаговом режиме создается резервная копия реестра. Для восстановления реестра из архивной копии также следует использовать возможности мастера архивации и восстановления (требуемый режим работы мастера – архивация или восстановление – выбирается с помощью соответствующей группы кнопок–опций).