Рис. 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, справа) с именем «внутреннего» названия расширения могут находиться разделы DefaultIcon, параметр "По умолчанию" которого определяет иконку этого типа файлов, [36] Если в разделе, относящимся к графическому файлу, в этом параметре указать команду "%1", то при отображении такого файла в «Проводнике» вместо его иконки будет показываться уменьшенное изображение содержимого файла, как, скажем, в программе ACDSee в режиме Thumbnails. По умолчанию в Windows так сделано для самих иконок, а также для программ и курсоров.
а также раздел «shell», в котором располагаются команды контекстного меню правой кнопки мыши данного типа файлов.
Название действия, которое отображается в меню правой кнопки мыши над файлом данного типа, может быть либо названием одного из подразделов раздела shell, либо значением параметра "По умолчанию" этого подраздела (в последнем случае название самого подраздела не имеет значения [37] Именно поэтому в англоязычных версиях Windows в контекстном меню могут быть русские названия команд. Обратите, кстати, внимание — альтернативное название команды должно указываться в параметре "По умолчанию" не раздела shell, а у его подраздела, содержащего данные по соответствующей команде.
). В подразделе с именем команды контекстного меню располагается подраздел command, в параметре "По умолчанию" которого указан полный путь к программе, которая должна выполнить данное действие (рис. 14.5).
Рис. 14.5. Вот место, где указывается программа, открывающая файл
Если для какого-либо типа файлов параметр Default Icon не указан, то в качестве иконки для него используется стандартная иконка документа. Если же в системном реестре вообще нет указания на такой тип файлов, то для него берется иконка с изображением логотипа Windows.
Все вышеизложенное несколько трудно для восприятия, но увы — это так. Приведена же здесь эта информация для того, чтобы вы поняли назначение различных групп разделов реестра. Кроме того, из данной информации есть несколько практических выводов.
Во-первых — теперь вы можете свободно редактировать выпадающее меню "Создать…". Для удаления лишних пунктов оттуда надо просто провести поиск по словам FileName, NullFile и др. и удалить параметры ShellNew в тех найденных разделах, которые не нужны.
Вы можете удивиться, найдя весьма много параметров FileName и NullFile, причем в разделах типов файлов, которые не присутствуют в меню "Создать…". Это чаще всего «обломки» предыдущих инсталляций программ. Дело в том, что для того, чтобы название типа файлов появилось в меню "Создать…", нужно правильное оформление всех разделов реестра, посвященных данному типу: и раздел с «внутренним» именем, и раздел shell, и в нем обязательно — раздел с именем open и т. д.
Читать дальше