Когда-то давно, я делал нечто подобное в Windows 98, а именно, добавлял свои пункты меню, в контекстное меню Windows, в пункт "Создать". Тогда, если мне не изменяет память, я просто создавал в определенной папке файлы шаблонов, а после добавлял пару строк в реестр. Это было не сложно, поэтому я решил проделать этот трюк и в Windows 7...
Прежде всего, необходимо было удалить лишние пункты, вроде "Создать презентацию" или "Создать архив", этими пунктами я никогда не пользовался и они только захламляют меню. Для этих целей можно воспользоваться реестром, но т.к. там не все просто, да и искать эти пункты мне было лень, я воспользовался программкой ShellMenuNew (скачать её можно с сайта разработчика: ShellMenuNew v.1.01). С ней работать довольно просто: выбираем ненужный пункт меню и нажимаем красную кнопку, после этого, пункт меню будет скрыт (с помощью зеленой кнопки его можно будет всегда восстановить):
Следующим шагом, необходимо добавить новые пункты, в моем случае я хочу иметь возможность создавать файлы: 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):
Комментарии (25)
Второй способ сработал. Спасибо.
Спасибо, В Windows 10 заработал первый способ.
Большое спасибо за статью. Не нашел только как менять наименование пункта меню? Menu Text.
Привет, попробуй поменять название через regedit в соответствующей записи, пример:
[HKEY_CLASSES_ROOT\txt_auto_file]
@="Текстовый документ 123"
Точно, это делал, но т.к. пост написан 5+ лет назад, уже не помню как. Да и от Windows откзалася давным давно, перешел на Linux.
spasibo
А мне наоборот, нужно было отключить один пункт в этом меню, а то программы уже нет, а проводник подвисал при наведении мышь на пункт "создать". С помощью 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, но не сохранил её(((
http://rapidsoft.org/articles/wintuning/item/82-context_menu_tuning
Привет Иван!
К сожалению, не знаю.
:) Рад, что тебе помогло!
4 часа убитого времени, куча тупых форумов. Твой вариант сразу заработал. Спасибо чувак, респект.