PDA

Просмотр полной версии : Редактируем меню создания файлов "Проводника" Windows



Igor48
23.01.2008, 17:40
Автор: Евгений aka f2065

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

http://www.computerra.ru/upload/rtfm/rtfm_ShellNew_1.gif Сначала рассмотрим, как его очистить от лишних строк.
Тут есть два варианта. Вариант первый - взять на вооружение инструмент Microsoft PowerToys Tweak UI (http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx).

http://www.computerra.ru/upload/rtfm/rtfm_ShellNew_2.gif Установив и загрузив данное приложение, следуем в раздел Templates. Тут всё просто. Нажатием кнопки Delete удаляется выбранная строка, а снятием галочки напротив той или иной строчки добиваемся временной деактивации пункта меню, за который она отвечает.
Если кому-то такое простое решение не нравится (или операционная система Windows старой версии, с которой PowerToys не работает), то существует второй вариант1 (http://www.computerra.ru/gid/rtfm/system/259949/#fwd1). Суть его в следующем. Экспериментальным путём выясняем, какое расширение у создаваемого файла, от возможности создания которого мы хотим избавиться. Допустим, это .doc. Идём в реестр, находим ветку HKEY_CLASSES_ROOT и там открываем расширение файла .doc.

http://www.computerra.ru/upload/rtfm/rtfm_ShellNew_3.gif Удаляем из ветки все подкаталоги с именем ShellNew. Обратите внимание, что они могут быть как непосредственно в папке расширения, так и в её более глубоких поддиректориях. Предварительно рекомендуется сохранить копию этой ветки реестра.

http://www.computerra.ru/upload/rtfm/rtfm_ShellNew_4.gif Что ж, с удалением разобрались. Все изменения вступают в силу сразу (точнее, через несколько секунд), перезагрузка не требуется.
Теперь разберемся, как можно создать свою строчку в этом меню.
Начнем решать задачу опять-таки с помощью упомянутого выше Microsoft PowerToys Tweak UI. Сначала в нужной программе создаём файл и сохраняем его (он будет начальным шаблоном). Затем открываем Tweak UI и в разделе Templates нажимаем кнопку Create. Утилита попросит указать файл шаблона, указываем только созданный файл. Готово. Теперь, при выборе в контекстном меню строчки нашего нового файла, в это место будет копироваться наш файл-шаблон.
Между тем, возможности этого механизма гораздо шире2 (http://www.computerra.ru/gid/rtfm/system/259949/#fwd2), чем предлагает Tweak UI. Например, можно автоматически сразу запускать какую-нибудь программу, или создавать файл-шаблон просто нулевого размера.
Итак, если простого создания файла мало, идём в реестр в раздел HKEY_CLASSES_ROOT, находим там расширение нужного типа файлов. Там нащупываем или создаём подпапку с именем ShellNew (для того чтобы в контекстном меню проводника появилась новая строчка о создании файла, достаточно в реестре у расширения нужного типа файла создать подпапку с именем ShellNew).
Далее в этой папке ShellNew создаём нужные параметры:

строковый параметр FileName. В нем указывается имя файла шаблона (к имени нового файла это не имеет никакого отношения). Сам файл шаблона должен находиться в C:Documents and SettingsAll UsersШаблоны или в C:WINDOWSSHELLNEW. Собственно, Tweak UI просто создаёт параметр FileName, копирует файл в папку шаблонов, и всё3 (http://www.computerra.ru/gid/rtfm/system/259949/#fwd3).
вместо FileName можно создать строковой параметр NullFile. В этом случае шаблон не используется, и будет создан файл нулевого размера. Значения у NullFile быть не должно.
еще FileName можно заменить параметром Data. Тип у него может быть любой - строковый или двоичный, в зависимости от данных шаблона. Содержимое параметра Data будет записано в файл. Фактически, это полный аналог FileName, только в нем шаблон хранится в виде файла, а тут шаблон хранится в реестре. Лучше, конечно, не раздувать реестр и пользоваться FileName, но если размер шаблона всего несколько байтов, то уместнее использовать параметр Data. Следующий вариант - предоставить возможность создания файла программе. Указываем строковый параметр Command. Как несложно догадаться из названия, это командная строка, которая и будет запущена. В Command просто пишем в кавычках полный путь к файлу программы, пробел и (тоже в кавычках) макрос %1 (он будет заменён на имя только что созданного файла), например, "c:windows
otepad.exe" "%1".

http://www.computerra.ru/upload/rtfm/rtfm_ShellNew_5.gif Теперь созданный файл будет сразу открываться в указанной программе.
Параметры FileName, Data, NullFile, Command все вместе использовать нельзя, можно применять только один из них. :)