структура системного реестра, несколько похожая на Проводник. В левой части окна программы расположено дерево разделов реестра, а в правой отображаются параметры (другое название — 'ключи') и их значения, если они присутствуют в разделе. Все разделы реестра являются подразделами пиктограммы 'Моего компьютера' в окне реестра, так как при работе в сети на основе Windows есть возможность редактировать реестры на удаленных компьютерах, и если бы с помощью меню «Реестр» к данному редактору реестра был бы подключен еще и сетевой реестр, то он бы отображался в качестве подраздела пиктограмы своего компьютера.
Рис. 14.1.
Вся навигация по реестру в Редакторе реестра аналогична таковой в «Проводнике». Единственное отличие — в правой части окна редактора реестра никогда не появляются пиктограммы разделов. Нажатиями на знак '+' или двойными кликами на пиктограммах разделов можно добраться до любого раздела и параметра. Чтобы переименовать раздел или параметр, нужно выбрать соответствующий пункт из контекстного меню или нажать F2. Изучить возможности Редактора реестра по редактированию не составит труда. В Редакторе реестра также есть возможность поиска названия раздела, параметра или значения.
В Редакторе реестра имеется возможность записать всю древовидную структуру реестра в текстовый файл (с расширением. reg), например, чтобы потом ее изучить или сравнить с другой. Для этого служит команда 'Экспорт файла реестра' из меню «Реестр». Есть возможность записать в текстовый файл лишь выделенный раздел, для этого нужно отметить специальный пункт в окне экспорта реестра.
При редактировании реестра имейте в виду, что команды «Отменить» в Редакторе реестра нет. Так что удаление раздела или параметра необратимо.
Если вы хотите посмотреть, что меняется в системном реестре под действием той или иной программы, то воспользуйтесь программой RegSnap с сайта http://webdon.com[34] ]. Она экспортирует реестр в текстовые файлы до и после действия исследуемой программы, а потом сравнит эти два файла и выяснит, какие ключи были добавлены, удалены, изменены.
Обзор системного реестра
Все записи в реестре подразделяются на три типа. Это разделы — некое подобие папок «Проводника»: они могут содержать в себе другие разделы и параметры. Это параметры — то, что может содержаться в разделе. Они могут быть трех типов: строковые — обычная текстовая строка, двоичные — число в двоичной системе счисления,[35] и типа Dword — число в десятичной или шестнадцатиричной системе (вводить можно в любой — во вторую систему число преобразуется автоматически). Ну, и у параметра может быть (а может и не быть) значение — только того типа, какой допускает параметр.
Если посмотреть в левое окно Редактора реестра, то может показаться, что системный реестр компьютера состоит из шести подразделов. Однако это не совсем так. Дело в том, что Редактор реестра интерпретирует содержимое реестра так, чтобы его было удобно смотреть и редактировать. В связи с этим некоторые разделы системного реестра в Редакторе дублируются.
На самом деле реестр состоит всего из двух разделов — HKEY_LOCAL_MACHINE (содержится в файле System.dat) и HKEY_USERS (содержится в загруженных файлах User.dat). И именно их вы увидите, если экспортируете весь реестр в текстовый файл и его просмотрите. Так как сам реестр содержит в себе лишь два раздела, а его разложение на шесть производится исключительно в редакторе реестра (как бы 'виртуальное представление' для удобства работы) то все изменения, сделанные в одном из дублированных разделов, автоматически будут сделаны и в другом — не из-за действий редактора реестра по синхронизации, а из-за того, что и тот, и другой — один и тот же раздел, просто два раза отображенный.
Но — все по порядку.
Сокровищница имен
Раздел HKEY_CLASSES_ROOT является точной копией раздела HKEY_LOCAL_MACHINESOFTWARE Classes и содержит в себе информацию о всех зарегистрированных в системе типах файлов. Именно из этого раздела берется информация для представления в окне 'Типы файлов' (рис. 14.2). Но хранится информация о зарегистрированных расширениях весьма своеобразно и сложно. Вначале в разделе HKEY_CLASSES_ROOT идет список всех расширений (с точками вначале!), зарегистрированных в системе, каждое из которых является названием раздела реестра. В каждом таком разделе обязательно есть параметр 'По умолчанию'. В нем записано как бы «внутреннее» название расширения, которое 'в ходу' у системы (рис. 14.3, слева).
Рис. 14.3.
В разделе HKEY_CLASSES_ROOT также присутствует раздел с именем этого «внутреннего» названия расширения (расположенный ниже в окне редактора реестра), в котором находятся параметры, определяющие меню правой кнопки мыши для этого расширения. В параметре 'По умолчанию' этого раздела записано «официальное» название типа файлов с таким расширением, которое, например, присутствует в списке окна 'Типы файлов' (рис. 14.3, справа, также см. рис. 14.2).
Рис. 14.2.
В разделе, имя которое соответствует расширению с точкой вначале, также могут находиться различные параметры, определяющие интеграцию данного типа файлов в «Проводник». В частности, если создать в этом здесь раздел с именем, соответствующим внутреннему названию расширения, там — раздел с именем ShellNew, а в нем — строковый параметр NullFile (рис. 14.4, слева), то в выпадающий список 'Создать файл' будет помещено «официальное» название типа файлов (рис. 14.4, справа). Так будет только в случае, если «официальное» название типа файлов присутствует в реестре, и указана программа, который этот файл открывает (см. ниже).
Рис. 14.4.
При выборе в этом списке этого типа файлов будет создан пустой файл с расширением, соответствующим этому «официальному» названию, и с таким же именем, что и «официальное» название. Если в папку WindowsShellNew поместить файл с этим расширением, а в разделе ShellNew создать не параметр NullFile, а параметр FileName, и в его значении указать имя этого файла, то при выборе этого типа