Як я можу додати елемент до "нового" контекстного меню?


117

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

Як я можу це зробити?


спробуйте новий інструмент редактора меню, включений в Enhancer Right Click на rbsoft.org/downloads/right-click-enhancer
Ravi Patel

2
Якщо у вас виникли проблеми з додаванням абсолютно нового розширення файлу (а не просто додавання NullFile/ FileNameдо існуючої записи) в Windows 7, то перегляньте це інше питання ... superuser.com/questions/588647/…
MrWhite

2
Сайт Рамеша є хорошим джерелом для додавання записів вручну.
Synetech

Відповіді:


64

Щоб додати розширення на ваш вибір до списку: створіть файл, додайте нижче вміст, збережіть його як будь-який.reg та запустіть його.

Примітка . Замініть .png розширенням файлу, яке ви хочете додати, і замініть все, що завгодно.

Windows Registry Editor Version 5.00

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

Джерело


4
Будь ласка , зверніть увагу посилання гниль .
Мехпер К. Палавузлар

1
Гарний дзвінок. Відповідь відредаговано :)
th3dude

1
+1, це працює. Як ми можемо мати власне ім’я файлу типу "index.php" замість "Нового PHP file.php"?
fedmich

1
Мені довелося запустити .regфайл двічі, щоб він працював. Дякую за цю відповідь.
Акаш

3
Не працювали для мене в Windows 10, 1709 :( Перевірений провідник і навіть перезапущений автомат, все ще ...
Арете

66

Ще одне:

Якщо ви хочете додати файл як шаблон для нового елемента, використовуйте

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

а потім помістіть файл (html.html) у:

  • Для вашого власного профілю: %Userprofile%\Templates
  • Для всіх користувачів: %Allusersprofile%\Templates
  • Для всієї системи: %Systemroot%\ShellNew

Ще одна деталь: якщо ви хочете видалити запис "Живий виклик Windows" , використовуйте:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]

Класна думка, щоб мати можливість використовувати файл як шаблон!
Clay Nichols

1
Якщо комусь цікаво, FileNameзапис, як видається, замінює NullFileзапис, зазначений в інших відповідях. Вам, здається, не потрібно видаляти наявне NullFileзначення. Однак наявність обох записів, схоже, бентежить деякі інші сторонні утиліти, такі як ShellMenuNew NirSoft . (Windows 7)
MrWhite

2
Я не думаю, що він повинен бути у% Userprofile% Templates і т. Д., Якщо ви даєте ім'я цілому шляху до файлу.
jiggunjer

3
Що робити, якщо хочу створити два ярлики до двох різних шаблонів для однієї програми? Наприклад, я прекрасно використовував цей метод, щоб створити пункт контекстного меню для шаблону "статті" для TeXworks. Тепер я хочу також додати шаблон "модифікований_частину" для TeXworks. Чи можу я додати обидва до контекстного меню? Дякую!
Прахар

3
У Windows 8.1 папки шаблонів, які ви перераховуєте, не працюють. Я отримую помилку "відмовлено у доступі". Там, де мають бути шаблони, тепер - папка швидкого доступу, яка, мабуть, називається "з'єднанням" - і це прихований файл "конкретної операційної системи". Тому папка Шаблони тепер переміщена. Перегляньте це посилання для нового відображення ( jimmah.com/vista/Security/junctions.aspx ). Мабуть, це зараз C:\Users\USER_NAME\AppData\Roaming\Microsoft\Windows\Templatesдля вашого власного профілю, наприклад.
Габріель Степлес

19

ShellNewHandler допоміг мені відновити своє меню оболонки Windows 7> New> txt документ.

введіть тут опис зображення

  1. Зніміть прапорець .txt
  2. Натисніть Застосувати
  3. Перевірте .txt
  4. Натисніть Застосувати

2
Це дозволяє вам додавати нові записи? З екрана та опису він не відображається.
MrWhite

2
це НЕ дозволяє додавати записи ... тому це абсолютно не має значення для теми.
Ерік Себаста

18

Увійдіть до редактора реєстру та розгорніть HKEY_CLASSES_ROOT

Перейдіть до .file_extention

і створити ключ під назвою ShellNew

Всередині цього створіть новий рядовий ключ під назвою NullFile без значення

Наприклад, якби я хотів створити новий запис для порожнього .wil об’єкта *, я створив би

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

* якщо розширення файлу, такого як .wil не існує, я спершу створив би файл з цим розширенням і двічі клацнув його. Відкрийте її за допомогою програми, яку я вибрав, оскільки це створить інші необхідні ключі реєстру та полегшить вашу роботу.


2
Не працює в Windows 10, також я знайшов цю статтю, але й ця не працює: askvg.com/how-to-add-remove-items-from-new-menu-in-windows
Нео

5

Для видалення записів зі списку ось програма, яка дозволяє вмикати / вимикати записи з графічного інтерфейсу. Набагато простіше, ніж пошук в реєстрі!

На жаль, це не дозволяє додавати записи.


Це саме те, що мені було потрібно, дякую! Взагалі, все, що вам справді потрібно, - це "Новий текстовий документ" ...
Ендрю

5

Жоден із цих методів не працював для мене в 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. Скажіть Провіднику використовувати значок за замовчуванням для типу вмісту:
[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на @="Notepad++_file". Тож додавання HKEY_CLASSES_ROOT\Notepad++_fileз @="Textfile"зробив трюк. Дякую, хороша знахідка!
Тіно

4

Ви не сказали, яку версію Windows використовуєте - якщо це XP, ви можете завантажити TweakUI PowerToy з Microsoft (також охоплений Вікіпедією ). Клацніть на Шаблони та додайте / видаліть типи файлів до вмісту вашого серця. Ось як це виглядає: введіть тут опис зображення


3

Здається, що інші рішення тут застаріли. Принаймні жодне з них не працювало для мене в Windows 10 v. 1709 Build 16299.192 ( Edit : досі працює у версії 1809). Я зробив кілька тестувань у віртуальній машині, і ось що працює в 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.exe, ввівши в CMD:

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

введіть тут опис зображення

введіть тут опис зображення


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

[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 пов’язала програмне забезпечення з типом файлу.


1
Чудова відповідь, дякую. Зверніть увагу на Windows 10, %userprofile%\Templatesпереїхав %appdata%\Microsoft\Windows\Templatesі %Allusersprofile%\Templatesпереїхав до%programdata%\Microsoft\Windows\Templates
TheImirOfGroofunistan

2

Створіть звичайний текстовий файл і додайте до нього такий рядок:


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. Не знаю чому.
Габріель Степлес

1

Ключ реєстру:

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

не може бути змінено для того, щоб відобразити чи не відображати у контекстному меню "Нове". Якщо ви зміните це значення, воно буде замінено Провідником наступного разу, коли ви клацнете правою кнопкою миші та відкриє контекстне меню "Нове". Спробуйте, і ви побачите, що я маю на увазі.


0

Ця інформація офіційно задокументована Microsoft ; зазвичай призначений для розробників, які реєструють свої власні нові типи файлів.

Розширення нового підменю

Коли користувач відкриває меню Файл у Провіднику Windows, перша команда - Нова . Вибір цієї команди відображає підменю. За замовчуванням він містить дві команди, папку та ярлик , які дозволяють користувачам створювати підпапки та ярлики. Це підменю можна розширити, включаючи команди створення файлів для будь-якого типу файлів.

Щоб додати команду створення файлу до нового підменю, файли вашої програми повинні мати пов'язаний з ними тип файлу . Включіть під ключ ShellNew під ключ для розширення імені файлу. Коли вибрано команду « Файл » Нова команда, оболонка додасть її до нового підменю. Рядок відображення команди буде описовою рядком, призначеним ProgID програми.

Призначте одне або більше значень даних підрозділу ShellNew, щоб вказати спосіб створення файлу. Доступні значення випливають.

  • Command: Виконання програми. Це значення REG_SZ, що вказує шлях програми, яку потрібно виконати. Наприклад, ви можете встановити його для запуску майстра.
  • Data: Створює файл, що містить задані дані. Дані - це значення REG_BINARY з даними файлу. Дані ігноруються, якщо вказано або NullFile, або ім'я файлу.
  • FileName: Створює файл, який є копією вказаного файлу. FileName - це значення REG_SZ , встановлене на повністю кваліфікований шлях файлу, який потрібно скопіювати.
  • NullFile: Створює порожній файл. NullFile не присвоюється значення. Якщо вказано NullFile, значення даних і ім’я файлу ігноруються.

І, наприклад, створіть новий порожній mpy файл:

HKEY_CLASSES_ROOT
  (Default) = MyProgram.1
  MyProgram.1
   .myp
      ShellNew
         NullFile

Щоб створити новий файл на основі певного файлу шаблону:

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
      MyProgram.1
         ShellNew
            FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.