Читаем Тайны и секреты компьютера полностью

Все записи в реестре подразделяются на три типа. Это разделы — некое подобие папок «Проводника»: они могут содержать в себе другие разделы и параметры. Это параметры — то, что может содержаться в разделе. Они могут быть трех типов: строковые — обычная текстовая строка, двоичные — число в двоичной системе счисления,[35] и типа Dword — число в десятичной или шестнадцатиричной системе (вводить можно в любой — во вторую систему число преобразуется автоматически). Ну, и у параметра может быть (а может и не быть) значение — только того типа, какой допускает параметр.

Если посмотреть в левое окно Редактора реестра, то может показаться, что системный реестр компьютера состоит из шести подразделов. Однако это не совсем так. Дело в том, что Редактор реестра интерпретирует содержимое реестра так, чтобы его было удобно смотреть и редактировать. В связи с этим некоторые разделы системного реестра в Редакторе дублируются.

На самом деле реестр состоит всего из двух разделов — HKEY_LOCAL_MACHINE (содержится в файле System.dat) и HKEY_USERS (содержится в загруженных файлах User.dat). И именно их вы увидите, если экспортируете весь реестр в текстовый файл и его просмотрите. Так как сам реестр содержит в себе лишь два раздела, а его разложение на шесть производится исключительно в редакторе реестра (как бы "виртуальное представление" для удобства работы) то все изменения, сделанные в одном из дублированных разделов, автоматически будут сделаны и в другом — не из-за действий редактора реестра по синхронизации, а из-за того, что и тот, и другой — один и тот же раздел, просто два раза отображенный.

Но — все по порядку.

Сокровищница имен

Раздел HKEY_CLASSES_ROOT является точной копией раздела HKEY_LOCAL_MACHINE\SOFTWARE\Classes и содержит в себе информацию о всех зарегистрированных в системе типах файлов. Именно из этого раздела берется информация для представления в окне "Типы файлов" (рис. 14.2). Но хранится информация о зарегистрированных расширениях весьма своеобразно и сложно. Вначале в разделе HKEY_CLASSES_ROOT идет список всех расширений (с точками вначале!), зарегистрированных в системе, каждое из которых является названием раздела реестра. В каждом таком разделе обязательно есть параметр "По умолчанию". В нем записано как бы «внутреннее» название расширения, которое "в ходу" у системы (рис. 14.3, слева).

Рис. 14.3. Слева показано, где можно узнать «внутреннее» имя типа файлов или задать его. Ну, а справа показано, где расположено «официальное» название типа файлов. Посмотрите его также и на рис. 14.2.

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

Рис. 14.2. Сюда поступает информация из раздела HKEY_CLASSES_ROOT

В разделе, имя которое соответствует расширению с точкой вначале, также могут находиться различные параметры, определяющие интеграцию данного типа файлов в «Проводник». В частности, если создать в этом здесь раздел с именем, соответствующим внутреннему названию расширения, там — раздел с именем ShellNew, а в нем — строковый параметр NullFile (рис. 14.4, слева), то в выпадающий список "Создать файл" будет помещено «официальное» название типа файлов (рис. 14.4, справа). Так будет только в случае, если «официальное» название типа файлов присутствует в реестре, и указана программа, который этот файл открывает (см. ниже).

Рис. 14.4.Создайте параметр NullFile, как показано слева, и любуйтесь на новый пункт в меню Создать, как показано справа.

При выборе в этом списке этого типа файлов будет создан пустой файл с расширением, соответствующим этому «официальному» названию, и с таким же именем, что и «официальное» название. Если в папку Windows\ShellNew поместить файл с этим расширением, а в разделе ShellNew создать не параметр NullFile, а параметр FileName, и в его значении указать имя этого файла, то при выборе этого типа файлов в списке "Создать…" в текущей папке будет создана копия файла, помещенного в папку Windows\ShellNew.

Перейти на страницу:

Похожие книги