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

Копия статьи http://www.it-rem.ru/dobavit-svoi-punktyi-v-menyu-sozdat-windows-7.html
автору спасибо

 

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

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

shellmenunew-1

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

shellmenunew-2 

 

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

 

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

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

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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

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

shellmenunew-3

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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):

shellmenunew-4

Еще раз спасибо автору статьи Виталию Орлову  и его блогу

   Отправить статью как PDF