Рейтинговые книги
Читем онлайн Интернет-журнал 'Домашняя лаборатория', 2007 №3 - Мёрфи

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 236 237 238 239 240 241 242 243 244 ... 336
лишь два раздела, а его разложение на шесть производится исключительно в редакторе реестра (как бы "виртуальное представление" для удобства работы) то все изменения, сделанные в одном из дублированных разделов, автоматически будут сделаны и в другом — не из-за действий редактора реестра по синхронизации, а из-за того, что и тот, и другой — один и тот же раздел, просто два раза отображенный.

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

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

Раздел HKEY_CLASSES_ROOT является точной копией раздела HKEY_LOCAL_MACHINESOFTWAREClasses и содержит в себе информацию о всех зарегистрированных в системе типах файлов. Именно из этого раздела берется информация для представления в окне "Типы файлов" (рис. 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, как показано слева, и любуйтесь на новый пункт в меню Создать, как показано справа.

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

Кроме того, в разделе 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.

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

Во-первых — теперь вы можете свободно редактировать выпадающее меню "Создать.". Для удаления лишних пунктов оттуда надо просто провести поиск по словам FileName, NullFile и др. и удалить параметры ShellNew в тех найденных разделах, которые не нужны.

Вы можете удивиться, найдя весьма много параметров FileName и NullFile, причем в разделах типов файлов, которые не присутствуют в меню "Создать…". Это чаще всего "обломки" предыдущих инсталляций программ. Дело в том, что для того, чтобы название типа файлов появилось в меню "Создать…", нужно правильное оформление всех разделов реестра, посвященных данному типу: и раздел с "внутренним" именем, и раздел shell, и в нем обязательно — раздел с именем open и т. д.

Для добавления какого-либо пункта в меню "Создать…" нужно найти раздел с именем нужного расширения и добавить в него подразделы с его "внутренним" именем и именем ShellNew, а там — указать параметр NullFile (или FileName с именем файла). Ну и, естественно, проверить наличие и правильность оформления раздела с "внутренним" именем этого расширения.

"Обломки" инсталляций — разделы с именами типов файлов могут, к примеру, образоваться так. Программа Microsoft Photo Editor при своей установке поместила в реестр записи о том, что файл с расширением .gif имеет "внутреннее" имя "giffile", создала под него в реестре два раздела — .gif и giffile, прописав там все, что нужно. При установке программы

1 ... 236 237 238 239 240 241 242 243 244 ... 336
На этой странице вы можете бесплатно читать книгу Интернет-журнал 'Домашняя лаборатория', 2007 №3 - Мёрфи бесплатно.
Похожие на Интернет-журнал 'Домашняя лаборатория', 2007 №3 - Мёрфи книги

Оставить комментарий