Как я могу добавить элемент в «новое» контекстное меню?

126083
Theta30

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

Как я могу это сделать?

114
попробуйте новый инструмент редактора меню, включенный в Enhancer, щелкните правой кнопкой мыши по адресу http://rbsoft.org/downloads/right-click-enhancer Ravi Patel 11 лет назад 0
Если у вас возникли проблемы с добавлением совершенно нового расширения файла (вместо простого добавления `NullFile` /` FileName` к существующей записи) в Windows 7, то посмотрите этот другой вопрос ... http://superuser.com/questions/ 588647 / косяк-надстройка новое новое контекстное меню-пункты к окну-- MrWhite 10 лет назад 1
[Сайт Рамеша] (http://windowsxp.mvps.org/shellnewadd.htm) является хорошим источником для добавления записей вручную. Synetech 10 лет назад 1

10 ответов на вопрос

63
Eduardo Molteni

Еще кое-что:

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

Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.html\ShellNew] "FileName"="html.html" 

и затем поместите файл (html.html) в:

  • Для вашего собственного профиля: %Userprofile%\Templates
  • Для всех пользователей: %Allusersprofile%\Templates
  • Для всей системы: %Systemroot%\ShellNew

Еще одна деталь: если вы хотите удалить запись «Windows Live Call», используйте:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew] 
Классная мысль, чтобы можно было использовать файл в качестве шаблона! Clay Nichols 13 лет назад 0
Если кому-то интересно, запись FileName, по-видимому, переопределяет запись NullFile, упомянутую в других ответах. Похоже, вам не нужно удалять существующее значение `NullFile`. Однако наличие обеих записей, похоже, сбивает с толку некоторые другие сторонние утилиты, такие как [NirSoft's ShellMenuNew] (http://www.nirsoft.net/utils/shell_menu_new.html). (Windows 7) MrWhite 10 лет назад 1
Я не думаю, что он должен быть в% Userprofile% Templates и т. Д., Если вы даете полный путь к файлу. jiggunjer 8 лет назад 2
Что мне делать, если я хочу создать два ярлыка для двух разных шаблонов для одной и той же программы? Например, я прекрасно использовал этот метод для создания элемента контекстного меню для шаблона «статьи» для TeXworks. Теперь я хочу также добавить шаблон «ified_article »для TeXworks. Могу ли я добавить оба в контекстное меню? Спасибо! Prahar 7 лет назад 3
@Prahar Это [новый вопрос] (https://superuser.com/questions/ask), который вы должны задать [отдельно] (https://superuser.com/questions/ask) Tobias Kienzler 7 лет назад 0
В Windows 8.1 папки шаблонов, которые вы перечисляете, не работают. Я получаю ошибку «Отказано в доступе». Там, где должны быть шаблоны, теперь находится папка с ярлыками, которая называется «соединение» - и это скрытый файл «для конкретной операционной системы». Поэтому папка Templates теперь перемещена. Смотрите эту ссылку для нового сопоставления (https://jimmah.com/vista/Security/junctions.aspx). По-видимому, теперь это `C: \ Users \ USER_NAME \ AppData \ Roaming \ Microsoft \ Windows \ Templates` для вашего собственного профиля, например. Gabriel Staples 7 лет назад 1
... но я не могу заставить твой ответ работать на меня, несмотря ни на что. Не знаю почему. Gabriel Staples 7 лет назад 0
Если вы укажете FileName вместо NullFile, система будет искать файл шаблона с таким именем в% windir% \ ShellNew. Например, каталог в моей системе содержит EXCEL12.XLSX, а в записи реестра указано имя_файла REG_SZ excel12.xlsx trindflo 6 лет назад 0
Я просто хочу добавить, что он работает даже для [syspreping] (https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation), если вы поместите шаблон в `C: \ Users \ Администратор \ AppData \ Roaming \ Microsoft \ Windows \ Templates` Arete 6 лет назад 0
62
th3dude

Чтобы добавить расширения по вашему выбору в список: создайте файл, добавьте содержимое ниже, сохраните его как what.reg и запустите его.

Примечание : замените .png на расширение файла, которое вы хотите добавить, и замените все что угодно.

Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\.png\ShellNew] "NullFile"="" 

Источник

место на! +1 14 лет назад 0
Пожалуйста, рассмотрите [ссылка гниль] (http://en.wikipedia.org/wiki/Link_rot). Mehper C. Palavuzlar 13 лет назад 3
Хороший звонок. Ответ отредактирован :) th3dude 13 лет назад 1
Это не сработало для меня в Windows 7. У меня было два других существующих ключа ниже «.doc» (PersistentHandler и Word.Document.8.) Может ли это помешать этому? Содержимое REG-файла, которое я добавил в свой Reg, было следующим: редактор реестра Windows версии 5.00 [HKEY_CLASSES_ROOT \ .doc \ ShellNew] "NullFile" = "" Clay Nichols 13 лет назад 0
@Clay: вы пытались перезагрузить? surfasb 12 лет назад 0
Это не сработало для меня, когда я попытался добавить расширение .tex для редактирования LaTeX. Я попытался перезагрузить. Lokathor 12 лет назад 0
+1, это работает. Как мы можем иметь собственное имя файла, например, «index.php» вместо «New PHP file.php»? fedmich 11 лет назад 1
Мне пришлось дважды запустить файл `.reg`, чтобы он заработал. Спасибо за этот ответ. Akash 8 лет назад 1
У меня не работало в Windows 8.1 :( Я несколько раз повторял и тоже перезагружал. Gabriel Staples 7 лет назад 0
У меня не работало в Windows 10, 1709 :( Перезапустил проводник и перезапустил машину даже, все же ... Arete 6 лет назад 2
18
William Hilsum

Войдите в редактор реестра и разверните HKEY_CLASSES_ROOT.

Перейти к .file_extention

и создайте ключ с именем ShellNew

Внутри этого создайте новый строковый ключ с именем NullFile без значения

Например, если бы я хотел создать новую запись для пустого объекта .wil *, я бы создал

[HKEY_CLASSES_ROOT\.wil\ShellNew] NullFile = "" 

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

Не работает в Windows 10, также я нашел эту статью, но она также не работает: http://www.askvg.com/how-to-add-remove-items-from-new-menu-in-windows/ Neo 7 лет назад 1
18
Eric

ShellNewHandler помог мне восстановить меню оболочки Windows 7> «Создать»> «TXT».

enter image description here

  1. Снимите флажок .txt
  2. Нажмите Применить
  3. Проверьте .txt
  4. Нажмите Применить
Это позволяет вам добавлять новые записи? Из скриншотов и описания не видно. MrWhite 10 лет назад 2
это НЕ позволяет вам добавлять записи ... так что это совершенно не имеет отношения к теме. Eric Sebasta 6 лет назад 2
5
Blorgbeard

Для удаления записей из списка, вот программа, которая позволяет включать / отключать записи из графического интерфейса. Гораздо проще, чем искать в реестре!

К сожалению, это не позволяет добавлять записи.

Это как раз то, что мне было нужно, спасибо! Как правило, все, что вам действительно нужно, это «Новый текстовый документ» ... Andrew 12 лет назад 0
4
User5910

Вы не сказали, какую версию Windows вы используете - если это XP, вы можете загрузить TweakUI PowerToy от Microsoft (также описанную в Википедии ). Нажмите на Шаблоны и добавьте / удалите типы файлов для вашего сердца. Вот как это выглядит: enter image description here

3
subman

Ни один из этих методов не работал для меня в Windows 10.

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

Это минимум, необходимый для создания записи, но у него не будет иконки.

ПРИМЕЧАНИЕ: третья запись предназначена для нового ключевого текстового файла, указанного в значении (по умолчанию) .txt.

Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\.txt] @="textfile"  [HKEY_CLASSES_ROOT\.txt\ShellNew] "NullFile"=""  [HKEY_CLASSES_ROOT\textfile] @="Text Document" 

Вот два способа указать значок

  1. Скажите Explorer, чтобы использовать значок по умолчанию для типа контента:
[HKEY_CLASSES_ROOT\.txt]  @="textfile"  "Content Type"="text/plain" "PerceivedType"="text" 

или 2. Укажите значок в текстовом файле следующим образом:

[HKEY_CLASSES_ROOT\textfile\DefaultIcon] @="%SystemRoot%\\system32\\imageres.dll,-102" 

Да, и, по крайней мере, для меня достаточно простого закрытия и повторного открытия Проводника (убедитесь, что все экземпляры закрыты), чтобы перезагрузить контекстное меню. Вам не нужно перезагружать всю машину.

На моей стороне «Блокнот ++» изменил `HKEY_CLASSES_ROOT \ .txt` на` @ = "Блокнот ++ _ файл" `. Таким образом, добавив `HKEY_CLASSES_ROOT \ Notepad ++ _ file` с` @ = "Textfile" `добился цели. Спасибо, хорошая находка! Tino 6 лет назад 0
2
Bnutoswa

Создайте простой текстовый файл и добавьте в него следующую строку:


Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\.txt\ShellNew] "NullFile"="" 

Сохраните файл и переименуйте его расширение в файл .reg. Например, "myNewItem.reg". Убедитесь, что вы переименовали расширение, а не только имя файла, например (myNewItem.reg.txt)

Дважды щелкните файл, и он обновит ваш реестр.

Следующий шаг, и это очень важно, перезагрузите компьютер напрямую. Поэтому НЕ пытайтесь открыть меню контента, чтобы увидеть, работает ли оно уже! Сначала перезагрузите компьютер.

Если вы откроете меню контента, чтобы увидеть, есть ли ваш новый элемент в списке, реестр будет восстановлен ...

Также попробуйте эту программу: http://sourceforge.net/projects/shellnewhandler/

или я перезагружаюсь немедленно, я не могу заставить это работать в Windows 8.1. Понятия не имею почему. Gabriel Staples 7 лет назад 0
2
Arete

Похоже, что другие решения здесь устарели. По крайней мере, ни один из них не работал для меня в Windows 10 v. 1709 Build 16299.192. Я провел некоторое тестирование на ВМ, и это то, что работает в Windows 10 1709, по состоянию на 2018.01.12:

Добавьте файл реестра:

Создайте новый файл реестра со следующим содержимым:

Windows Registry Editor Version 5.00  ; new file type [HKEY_CLASSES_ROOT\.xyz] @="xyz"  ; template [HKEY_CLASSES_ROOT\.xyz\ShellNew] "FileName"=""  ; file type name [HKEY_CLASSES_ROOT\xyz] @="XYZ test file" 

Замените xyzна расширение, которое вы хотели бы добавить. И заменитьXYZ test file его именем на расширение файла (например, файл .scss будет «синтаксически удивительный файл таблицы стилей»). Если вы хотите использовать файл шаблона, см. Пояснение ниже.

Может быть необходимо перезапустить Windows Explorer после добавления файла реестра. Вы можете перезапустить explorer.exe, набрав в CMD следующее:

taskkill /f /im explorer.exe & start explorer.exe 

enter image description here

enter image description here


Пояснение к коду:

[HKEY_CLASSES_ROOT\.xyz] @="xyz" 

Создаст новый тип файла в реестре.

[HKEY_CLASSES_ROOT\.xyz\ShellNew] "FileName"="" 

Это позволит вам использовать шаблон для всех новых файлов этого формата. Мы могли бы, например, написать "template.xyz"и создать новый файл с именем «template.xyz» и использовать его как шаблон. Поэтому каждый раз, когда вы создаете новый файл, он будет заполнен предварительно созданным содержимым. Как Эдуардо Молтени упомянул пути для файлов шаблона являются: %Userprofile%\Templates, %Allusersprofile%\Templatesили для всей системы %Systemroot%\ShellNew. В этом примере мы не указали имя шаблона, потому что не хотим его использовать.

[HKEY_CLASSES_ROOT\xyz] @="XYZ test file" 

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

Значок:

Значок добавляется, когда Windows связывает программное обеспечение с типом файла.

Отличный ответ, спасибо. Обратите внимание, что в Windows 10 `% userprofile% \ Templates` перемещен в`% appdata% \ Microsoft \ Windows \ Templates`, а `% Allusersprofile% \ Templates` перемещен в`% programdata% \ Microsoft \ Windows \ Templates` TheImirOfGroofunkistan 5 лет назад 1
1
WoodyElf

Раздел реестра:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew 

нельзя изменить, чтобы выполнить то, что отображается или не отображается в контекстном меню «Новый». Если вы измените это значение, оно будет переопределено Проводником при следующем щелчке правой кнопкой мыши и вызовет контекстное меню «Новый». Попробуйте, и вы поймете, что я имею в виду.