X

Добавить свои пункты в меню "Создать", Windows 7

Когда-то давно, я делал нечто подобное в Windows 98, а именно, добавлял свои пункты меню, в контекстное меню Windows, в пункт "Создать". Тогда, если мне не изменяет память, я просто создавал в определенной папке файлы шаблонов, а после добавлял пару строк в реестр. Это было не сложно, поэтому я решил проделать этот трюк и в Windows 7...

Прежде всего, необходимо было удалить лишние пункты, вроде "Создать презентацию" или "Создать архив", этими пунктами я никогда не пользовался и они только захламляют меню. Для этих целей можно воспользоваться реестром, но т.к. там не все просто, да и искать эти пункты мне было лень, я воспользовался программкой ShellMenuNew (скачать её можно с сайта разработчика: ShellMenuNew v.1.01). С ней работать довольно просто: выбираем ненужный пункт меню и нажимаем красную кнопку, после этого, пункт меню будет скрыт (с помощью зеленой кнопки его можно будет всегда восстановить):

Отключение пунктов меню "Создать" с помощью ShellMenuNew

Следующим шагом, необходимо добавить новые пункты, в моем случае я хочу иметь возможность создавать файлы: index.php, webpage.html, script.js, style.css.

Новые пункты меню

Рассматривать будем на примере файла index.php, для остальных идентично.

Прежде всего создаем файл шаблон, я создал тут:
E:\Soft\System\Shell-Editors\NewFiles\newfile.php

Файл шаблон - позволяет внести в него заранее подготовленный данные, например структуру, которая будет добавлена в каждый новый файл. Я думаю, что в новый файл просто копируется эта болванка. Для php например удобно сразу прописать открытие скрипта: <?php

Теперь нам надо добавить в реестр запись, чтобы система поняла, что необходимо вставить этот пункт в контекстное меню создания нового файла.

Погуглив я нашел такой рецепт:

  • открываем regedit: Пуск > Выполнить > regedit.exe
  • переходим в раздел: HKEY_CLASSES_ROOT > .php
  • создаем там папку ShellNew
  • в ней создаем строковый параметр FileName = "путь-к-имени-шаблона"
  • перезагрузиться

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

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.php]
@="php_auto_file"

[HKEY_CLASSES_ROOT\.php\ShellNew]
"NullFile"=-

[HKEY_CLASSES_ROOT\.php\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.php"

[HKEY_CLASSES_ROOT\php_auto_file]
@="index"

в этом решении, создается еще один раздел, кроме того, что описан в инструкции ранее, со своими доп. параметрами. Я не буду расписывать полностью по веткам, по ним можно погуглить самим. Тем же кому это сложно, необходимо:

  • текст что выше скопировать в файл: add-to-registry.reg.
  • изменить параметр FileName на ваш путь к файлу-шаблону
  • сохранить файл: add-to-registry.reg.
  • выполнить его (дважды щелкнув по иконке с ним)
  • система спросит подтверждения действий, на что надо согласиться
  • после этих манипуляций надо перезагрузиться

Вместо перезагрузки, можно завершить explorer.exe через диспетчер задач, и снова его запустить, выполнив explorer.exe через Файл->Выполнить, в том же диспетчере задач. Диспетчер задач вызывается по Ctrl+Alt+Del

Результатом должно стать появление нового пункта в меню "Создать":

Новый пункт в меню "Создать"

Теперь надо все повторить, для остальных пунктов меню (webpage.html, script.js, style.css), разумеется меняя расширения для файлов и пути к шаблонам. Напоследок выкладываю свой reg-файлик,  который делает добавление всех вышеперечисленных типов файлов: register-ext.reg.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.php]
@="php_auto_file"

[HKEY_CLASSES_ROOT\.php\ShellNew]
"NullFile"=-

[HKEY_CLASSES_ROOT\.php\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.php"

[HKEY_CLASSES_ROOT\php_auto_file]
@="index"

[HKEY_CLASSES_ROOT\php_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
  00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
  57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
  00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
  2c,00,30,00,00,00

[HKEY_CLASSES_ROOT\.js]
@="js_auto_file"

[HKEY_CLASSES_ROOT\.js\ShellNew]
"NullFile"=-

[HKEY_CLASSES_ROOT\.js\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.js"

[HKEY_CLASSES_ROOT\js_auto_file]
@="script"

[HKEY_CLASSES_ROOT\js_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
  00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
  57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
  00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
  2c,00,30,00,00,00

[HKEY_CLASSES_ROOT\.css]
@="css_auto_file"

[HKEY_CLASSES_ROOT\.css\ShellNew]
"NullFile"=-

[HKEY_CLASSES_ROOT\.css\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.css"

[HKEY_CLASSES_ROOT\css_auto_file]
@="style"

[HKEY_CLASSES_ROOT\css_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
  00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
  57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
  00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
  2c,00,30,00,00,00

[HKEY_CLASSES_ROOT\.html]
@="html_auto_file"

[HKEY_CLASSES_ROOT\.html\ShellNew]
"NullFile"=-

[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="E:\\Soft\\System\\Shell-Editors\\NewFiles\\newfile.html"

[HKEY_CLASSES_ROOT\html_auto_file]
@="webpage"

[HKEY_CLASSES_ROOT\html_auto_file\DefaultIcon]
@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\
  00,46,00,69,00,6c,00,65,00,73,00,20,00,28,00,78,00,38,00,36,00,29,00,5c,00,\
  57,00,65,00,42,00,75,00,69,00,6c,00,64,00,65,00,72,00,20,00,32,00,30,00,31,\
  00,31,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,2e,00,64,00,6c,00,6c,00,22,00,\
  2c,00,30,00,00,00

Обратите только внимание, что в нем прописаны иконки для этих пунктов в моей системе, чтобы вам их поменять, нужно изменить пути к ним в редакторе реестра (regedit):

Изменение иконок файлов в редакторе реестра

Категории: Windows

Комментарии (25)

  • Второй способ сработал. Спасибо.

  • Спасибо, В Windows 10 заработал первый способ.

  • Большое спасибо за статью. Не нашел только как менять наименование пункта меню? Menu Text.

    • Привет, попробуй поменять название через regedit в соответствующей записи, пример:

      [HKEY_CLASSES_ROOT\txt_auto_file]
      @="Текстовый документ 123"

      Точно, это делал, но т.к. пост написан 5+ лет назад, уже не помню как. Да и от Windows откзалася давным давно, перешел на Linux.

  • А мне наоборот, нужно было отключить один пункт в этом меню, а то программы уже нет, а проводник подвисал при наведении мышь на пункт "создать". С помощью ShellMenuNew я это сделал. Даже перезагрузка не понадобилась.
    Спасибо !

  • Добрый день! Все заработало, но при открывании файла он заполнен этим http://joxi.ru/vAWeoK5s8DbqmW

    Вот такой был reg файл
    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\.txt]
    @="txt_auto_file"

    [HKEY_CLASSES_ROOT\.txt\ShellNew]
    "NullFile"=-

    [HKEY_CLASSES_ROOT\.txt\ShellNew]
    "FileName"="C:\Program Files (x86)\Notepad++\Notepad++.exe"

    [HKEY_CLASSES_ROOT\txt_auto_file]
    @="Текстовый документ"

    В чем может быть проблема?

    • Могу ошибаться, но похоже оно открывает тебе exe-шник (C:\Program Files (x86)\Notepad++\Notepad++.exe), попробуй вместо этого пути, указать пустой txt файл (шаблон).
      Т.е.

      [HKEY_CLASSES_ROOT\.txt\ShellNew]
      "FileName"="C:\template.txt"

      Разумеется, этот файл надо сперва создать. Если поможет, то перемести его в удобное для тебя место и измени путь.

  • Проблема решена заменой «doc_auto_file» на «Word. Document.8» в корне [HKEY_CLASSES_ROOT\.doc]

    Если установлен Office 2010, то надо в реестре найти: HKEY_CLASSES_ROOT>doc и вместо doc_auto_file или Word. Document.8 вписать Word. Document.12 и всё.

    Windows 7 любая сборка, 32 или 64.

  • Спасибо, статья пригодилась. Сделал для себя, в контекстное меню добавил меню - создать Word.

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\.doc]
    @="doc_auto_file"

    [HKEY_CLASSES_ROOT\.doc\ShellNew]
    "NullFile"=-

    [HKEY_CLASSES_ROOT\.doc\ShellNew]
    "FileName"="C:\\Program Files\\Шаблоны\\Word.doc"

    [HKEY_CLASSES_ROOT\doc_auto_file]
    @="Word"

  • Прочитал, воодушивился, доработал для себя...

    Вот вариант, который позволит добавить несколько шаблонов с одним расширением.
    меняем new1 на new2 и тд, а по сути расширение останется одно (у меня sql)

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\.new1.sql]
    @="Template1_file"

    [HKEY_CLASSES_ROOT\.new1.sql\ShellNew]
    "NullFile"=-

    [HKEY_CLASSES_ROOT\.new1.sql\ShellNew]
    "FileName"="C:\\Temp\\Template.sql"

    [HKEY_CLASSES_ROOT\Template1_file]
    @="Template1"

    • Пожалуйста! Сейчас перешел на W8 и пока не добавил нужные пункты, но так привык что они там есть, что постоянно пытаюсь их использовать - полезная вещь! :D

  • По Office ничего не скажу, у меня они есть "по-умолчанию". Можешь попробовать в виртуальной машине поставить обычный офис, (не portable версию), посмотреть что прописывается в реестр, в указанную ветку и потом сделать аналогичные записи в реестр, уже на своей машине.

  • Блин – у меня ничего не вышло. Хоть задача куда скромнее))
    MS Office 2003 Portable: хотел Word и Excel добавить в меню "Создать".
    Сделал шаблон – тоже ничего:
    D:\Program Files\MS Office 2003\NewFiles\Word1.doc
    D:\Program Files\MS Office 2003\NewFiles\Excel1.xls

    Если подскажешь, буду очень признателен...

  • Огромное спасибо! Помог скрыть лишние пункты)

  • Спасибо, на много облекчает жизнь!

    P.S. Проверка на ботов порадовала )

    • Всегда пожалуйста :)

      P.S. Боты надоели, а такая проверка (по всей видимости, из-за своей уникальности), отсекает 99.9%, проходит только ручной постинг, но с ним я справляюсь :)

  • Привет а случайно не знаешь как добавить программы, вот щёлкаешь правой кнопкой по значку мой компьютер, и туда добавить например "удаление программ" востановление системы, дефрагментация,обновление, ну короче как туда добавить можно???, как то стояла такая винда 7, но не сохранил её(((

  • 4 часа убитого времени, куча тупых форумов. Твой вариант сразу заработал. Спасибо чувак, респект.