Интернет-журнал "Домашняя лаборатория", 2007 №3
Шрифт:
В Редакторе реестра имеется возможность записать всю древовидную структуру реестра в текстовый файл (с расширением. reg), например, чтобы потом ее изучить или сравнить с другой. Для этого служит команда "Экспорт файла реестра" из меню "Реестр". Есть возможность записать в текстовый файл лишь выделенный раздел, для этого нужно отметить специальный пункт в окне экспорта реестра.
При редактировании реестра имейте в виду, что команды "Отменить" в Редакторе реестра нет. Так что удаление раздела или параметра необратимо.
Если вы хотите посмотреть, что меняется в системном реестре под действием той или иной программы, то воспользуйтесь программой RegSnap с сайта http://webdon.com.[33] Она экспортирует реестр в текстовые файлы до и после действия исследуемой
Обзор системного реестра Все записи в реестре подразделяются на три типа. Это разделы — некое подобие папок "Проводника": они могут содержать в себе другие разделы и параметры. Это параметры — то, что может содержаться в разделе. Они могут быть трех типов: строковые — обычная текстовая строка, двоичные — число в двоичной системе счисления[34], и типа Dword — число в десятичной или шестнадцатиричной системе (вводить можно в любой — во вторую систему число преобразуется автоматически). Ну, и у параметра может быть (а может и не быть) значение — только того типа, какой до пускает параметр.
Если посмотреть в левое окно Редактора реестра, то может показаться, что системный реестр компьютера состоит из шести подразделов. Однако это не совсем так. Дело в том, что Редактор реестра интерпретирует содержимое реестра так, чтобы его было удобно смотреть и редактировать. В связи с этим некоторые разделы системного реестра в Редакторе дублируются.
На самом деле реестр состоит всего из двух разделов — HKEY_LOCAL_MACHINE (содержится в файле System.dat) и HKEY_USERS (содержится в загруженных файлах User.dat). И именно их вы увидите, если экспортируете весь реестр в текстовый файл и его просмотрите. Так как сам реестр содержит в себе лишь два раздела, а его разложение на шесть производится исключительно в редакторе реестра (как бы "виртуальное представление" для удобства работы) то все изменения, сделанные в одном из дублированных разделов, автоматически будут сделаны и в другом — не из-за действий редактора реестра по синхронизации, а из-за того, что и тот, и другой — один и тот же раздел, просто два раза отображенный.
Но — все по порядку.
Сокровищница имен
Раздел HKEY_CLASSES_ROOT является точной копией раздела HKEY_LOCAL_MACHINE\SOFTWARE\Classes и содержит в себе информацию о всех зарегистрированных в системе типах файлов. Именно из этого раздела берется информация для представления в окне "Типы файлов" (рис. 14.2).
Рис. 14.2. Сюда поступает информация из раздела HKEY_CLASSES_ROOT
Но хранится информация о зарегистрированных расширениях весьма своеобразно и сложно. Вначале в разделе HKEY_CLASSES_ROOT идет список всех расширений (с точками вначале!), зарегистрированных в системе, каждое из которых является названием раздела реестра. В каждом таком разделе обязательно есть параметр "По умолчанию". В нем записано как бы "внутреннее" название расширения, которое "в ходу" у системы (рис. 14.3, слева).
В разделе HKEY_CLASSES_ROOT также присутствует раздел с именем этого "внутреннего" названия расширения (расположенный ниже в окне редактора реестра), в котором находятся параметры, определяющие меню правой кнопки мыши для этого расширения. В параметре "По умолчанию" этого раздела записано "официальное" название типа файлов с таким расширением, которое, например, присутствует в списке окна "Типы файлов" (рис. 14.3, справа, также см. рис. 14.2).
Рис. 14.3. Слева показано, где можно узнать "внутреннее" имя типа файлов или задать его. Ну, а справа показано, где расположено "официальное" название типа файлов. Посмотрите его также и на рис. 14.2.
В разделе, имя которое соответствует расширению с точкой вначале, также могут находиться различные параметры, определяющие интеграцию данного типа файлов в "Проводник". В частности, если создать в этом здесь раздел с именем, соответствующим внутреннему названию расширения, там — раздел с именем ShellNew, а в нем — строковый параметр NullFile (рис. 14.4, слева), то в выпадающий список "Создать файл" будет помещено "официальное" название типа файлов (рис. 14.4, справа). Так будет только в случае, если "официальное" название типа файлов присутствует в реестре, и указана программа, который этот файл открывает (см. ниже).
Рис. 14.4. Создайте параметр NullFile, как показано слева, и любуйтесь на новый пункт в меню Создать, как показано справа.
При выборе в этом списке этого типа файлов будет создан пустой файл с расширением, соответствующим этому "официальному" названию, и с таким же именем, что и "официальное" название. Если в папку Windows\ShellNew поместить файл с этим расширением, а в разделе ShellNew создать не параметр NullFile, а параметр FileName, и в его значении указать имя этого файла, то при выборе этого типа файлов в списке "Создать…" в текущей папке будет создана копия файла, помещенного в папку Windows\ShellNew.
Кроме того, в разделе ShellNew могут также быть параметры Data и Command. В первом случае значением параметра Data должен быть набор двоичных данных, которые будут помещены в пустой файл при его создании из меню "Создать". А во втором в параметре Command может быть указан путь к какому-либо исполняемому файлу с такими параметрами командной строки, которые приводят к созданию нового файла этой программы. Так, например, создаются ярлыки из меню "Создать".
Поэтому для того, чтобы почистить меню "Создать", придется потратить немало времени. Надо с помощью функции "Поиск" Редактора реестра найти в разделе HKEY_CLASSES_ROOT все разделы ShellNew, а в них — параметры "NullFile", "FileName", "Data" и "Command" и оставить среди них только нужные.
Если в раздел ShellNew поместить несколько разных полей для создания файла, то выполняться их указания будут согласно приоритету в последовательности "NullFile", "FileName", "Data", "Command".
В разделе (рис. 14.4, справа) с именем "внутреннего" названия расширения могут находиться разделы Defaultlcon, параметр "По умолчанию" которого определяет иконку этого типа файлов[35], а также раздел "shell", в котором располагаются команды контекстного меню правой кнопки мыши данного типа файлов.
Название действия, которое отображается в меню правой кнопки мыши над файлом данного типа, может быть либо названием одного из подразделов раздела shell, либо значением параметра "По умолчанию" этого подраздела (в последнем случае название самого подраздела не имеет значения[36]). В подразделе с именем команды контекстного меню располагается подраздел command, в параметре "По умолчанию" которого указан полный путь к программе, которая должна выполнить данное действие (рис. 14.5).
Рис. 14.5. Вот место, где указывается программа, открывающая файл.
Если для какого-либо типа файлов параметр Default Icon не указан, то в качестве иконки для него используется стандартная иконка документа. Если же в системном реестре вообще нет указания на такой тип файлов, то для него берется иконка с изображением логотипа Windows.
Все вышеизложенное несколько трудно для восприятия, но увы — это так. Приведена же здесь эта информация для того, чтобы вы поняли назначение различных групп разделов реестра. Кроме того, из данной информации есть несколько практических выводов.