В этой инструкции о том, как добавить запуск любой программы в контекстное меню. Не знаю, будет ли вам это полезно, но в теории может быть, если не хочется загромождать рабочий стол ярлыками и часто приходится запускать одну и ту же программу.
Например, чтобы открыть блокнот, я, бывает, пользуюсь следующими шагами: кликаю правой кнопкой мыши, выбираю «Создать» — «Текстовый документ», после чего открываю его. Хотя, можно просто добавить запуск блокнота на первый уровень этого меню и ускорить процесс. См. также: Простое редактирование контекстного меню Windows 10, 8.1 и Windows 7 в программе EasyContextMenu, Как вернуть Панель управления в контекстное меню кнопки Пуск Windows 10, Как добавить пункты в меню «Открыть с помощью».
Добавление программ в контекстное меню рабочего стола
Для добавления программ в меню, появляющееся по правому клику на рабочем столе, нам понадобится редактор реестра, запустить его можно, нажав клавиши Windows + R, после чего требуется ввести regedit в окно «Выполнить» и нажать «Ок».
В редакторе реестра откройте следующую ветку: HKEY_CLASSES_ROOT\Directory\Background\shell
Кликните правой кнопкой по папке Shell и выберите пункт «Создать» — «Раздел» и дайте ему какое-либо имя, в моем случае — «notepad».
После этого, в правой части редакторе реестра дважды кликните по параметру «По умолчанию» и впишите в поле «Значение» желаемое название данной программы, как оно будет отображаться в контекстном меню.
Следующим шагом, кликните правой кнопкой мыши по созданному разделу (notepad) и, опять же, выберите «Создать» — «Раздел». Назовите раздел «command» (маленькими буквами).
И последний шаг: дважды кликните по параметру «По умолчанию» и введите путь к программе, которую нужно запустить, в кавычках.
Вот и все, сразу после этого (а иногда только после перезагрузки компьютера) в контекстном меню на рабочем столе появится новый пункт, позволяющий быстро запустить нужное приложение.
Вы можете добавить сколько угодно программ в контекстное меню, запускать их с необходимыми параметрами и тому подобное. Все это работает в операционных системах Windows 7, 8 и Windows 8.1.
Вы тут: Главная → Windows → Как открывать файлы из контекстного меню в любой программе
Из этой статьи вы узнаете, как добавить в контекстное меню файлов пункт для их открытия в нужной программе. На примере текстового редактора я покажу, как редактировать в нем файлы с обычными и полными правами. Вы сможете использовать этот способ для открытия файлов из контекстного меню в любых программах.
Написать материал меня подтолкнуло обсуждение проблемы, с которой сталкиваются люди, использующие UAC, при попытке быстро отредактировать файл, расположенный в системной папке. Я расскажу, как решил эту проблему для себя.
Впрочем, открытию файлов с полными правами будет посвящена вторая часть статьи. А сегодня речь пойдет о пункте меню для открытия файлов с обычными правами. Этого достаточно в большинстве случаев, а при отключенном контроле учетных записей – всегда.
Цель — ускорение работы
Добавив возможность открытия файлов в любимой программе из контекстного меню, вы ускоряете свою работу в системе. Вам не нужно использовать диалоговое окно «Открыть с помощью», которое, кстати, бесполезно, если надо открыть файл с полными правами.
Блокнот, входящий в состав Windows 7, интегрирован в контекстное меню. Для многих типов файлов в нем отображается пункт «Изменить», с помощью которого файл можно быстро открыть в блокноте.
Однако этот пункт есть далеко не у всех типов файлов, не говоря уже о файлах без расширений. Можно повысить скорость своей работы в системе, добавив в контекстное меню пункт для открытия любых файлов в блокноте.
Не удивлюсь, если вместо блокнота вы используете сторонний редактор с более широкими возможностями. Большинство текстовых редакторов умеет интегрироваться в контекстное меню. Например, Notepad++ делает это самостоятельно, а Akelpad — помощью плагинов.
Однако при включенном UAC этот способ не подходит для правки файлов в системных папках Program Files или Windows (классический пример — файл hosts). Даже если файл откроется, сохранить изменения в нем не удастся.
Это происходит потому, что из контекстного меню редактор запускается с обычными правами, наследуя права проводника. А для сохранения файлов в системных папках нужны права администратора.
Кроме того, не все программы умеют интегрироваться в контекстное меню, и дальше мы займемся устранением этого недостатка. Если вы читали другие мои статьи на тему контекстных меню, вам многое будет знакомо.
Добавление пункта в контекстное меню всех типов файлов
Добавить в контекстное меню запуск программы с обычными правами очень просто, и я покажу это на примере блокнота.
Ручная правка реестра
Пункт меню добавляется за три шага.
- Перейдите в раздел реестра
HKEY_CLASSES_ROOT\*\shell
Пункт меню, добавленный в этот раздел, отобразится для любого файла у всех пользователей.
- Создайте подраздел с любым именем, например, Editor, а в нем создайте строковые параметры:
- Параметр MUIVerb (обязательный) отвечает за название пункта меню, поэтому значение можете выбирать любое. Я назвал свое Открыть в Блокноте.
- Параметр Icon (необязательный) задает значок для пункта меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для своего пункта я задал стандартный значок notepad.exe.
- Параметр Position (необязательный) отвечает за расположение пункта в контекстном меню. Вы можете задать ему значение Top (самый первый пункт меню) или Bottom (внизу меню). Если значение не задавать, пункт окажется в верхней части меню, после стандартных пунктов «Открыть», «Печать» и т.д.
- Параметр Extended (необязательный) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.
- В разделе Editor создайте подраздел command, а в нем дважды щелкните параметр (По умолчанию) и задайте значение
notepad.exe %1
Если вы прописываете сторонний редактор, укажите полный путь к нему. Например:
C:\Program Files\Notepad++\notepad++.exe %1
В реестре это выглядит примерно так:
REG-файл
Вы можете импортировать приведенный ниже REG-файл, предварительно внеся в него необходимые правки.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Editor] "MUIVerb"="Открыть в Блокноте" "Icon"="notepad.exe" ;"Position"="Bottom" ;"Extended"="" [HKEY_CLASSES_ROOT\*\shell\Editor\command] ;Блокнот @="notepad.exe %1" ;Notepad++ ; @="C:\\Program Files\\Notepad++\\notepad++.exe %1"
Обратите внимание, что в пути к приложению используются двойные слэши.
Результат
Все готово! В контекстном меню появился пункт Открыть в Блокноте, и он отображается для всех файлов.
Трюк с добавлением пункта в контекстное меню файлов, конечно, не новый. С некоторыми вариациями он работает и в Windows XP, где названием пункта меню служит имя раздела реестра, а значки не поддерживаются.
Несуществующий раздел реестра
А вы знаете, что мы внесли изменения в несуществующий раздел реестра? Раздел HKEY_CLASSES_ROOT (HKCR) интересен тем, что он отсутствует физически. Под его видом в редакторе реестра отображаются совмещенные разделы:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes HKEY_CURRENT_USER\SOFTWARE\Classes
В HKLM хранятся глобальные параметры для всех пользователей, а в HKCU – параметры текущего пользователя, при этом HKCU преобладает над HKLM. Поэтому разные пользователи могут сопоставлять различные программы одному типу файла. Это дает возможность каждому из них слушать музыку в любимом проигрывателе и путешествовать по Интернету в привычном браузере.
Если вы хотите создать пункт меню только для своей учетной записи, вносите изменения в раздел HKEY_CURRENT_USER\SOFTWARE\Classes.
Разработчики Windows позиционируют раздел HKCR для чтения, нежели для записи. Это не значит, что записывать туда данные неправильно. Когда вы вносите изменения в раздел HKCR, они записываются в HKEY_LOCAL_MACHINE\SOFTWARE\Classes. Это легко проверить – удалите созданный раздел Editor из HKLM, и он пропадет из HKCR.
Через пару дней я покажу, как разными способами создать в контекстном меню аналогичный пункт для открытия файла в программе с правами администратора. Я также рассмотрю вопрос одновременного открытия нескольких файлов в программах, использующих вкладки для их отображения.
А у вас текстовый редактор интегрирован в контекстное меню? Какой редактор вы предпочитаете и почему?
Здравствуйте. Недавно столкнулся с задачей, часть которой состояла в добавлении сторонней (для Windows) программы в запуск через контекстное меню, с передачей ей пути к файлу.
На русскоязычных сайтах/форумах находились лишь простенькие примеры запуска блокнота через контекстное меню рабочего стола. Углубившись в этой теме я нашел решение, думаю, что стоит поделиться им.
Программа, для вызова из контекстного меню
Для тестирования была написана простейшая программа на Qt/C++. Ее суть заключается в отображении полученного аргумента (пути файла):
#include <QtCore/QCoreApplication>
#include <iostream>
#include <cstdlib>
#include <QString>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString com = argv[1]; //Приравнивание аргумента к переменной для определения его наличия, как такового
if(com.size() == 0) //Если размер переменной 0, следовательно, аргумент не был передан
{
cout<<"Path is not passed"<<endl;
}
else
{
cout<<"Path: "<<com.toStdString()<<endl;
}
system("pause");
return a.exec();
}
Работа с реестром
Ввиду того, что требовалось получение пути любого файла, использовался адрес реестра: HKEY_CLASSES_ROOT\*\shell, в случае, если нужно так же получать путь директории: HKEY_CLASSES_ROOT\Folder\shell.
В директории HKEY_CLASSES_ROOT\*\shell был создан каталог «test» (название может быть любым, его так же можно редактировать изменив значение переменной, находящейся в созданном каталоге).
В котором, в свою очередь создан подкаталог «command», данное название подкаталога является обязательным.
Для добавления сторонней программы, изменим значение переменной «(по умолчанию)» на абсолютный путь к вашей программе, в моем случае это: C:\Users\artur\Documents\build-regtest-Desktop_Qt_5_10_1_MinGW_32bit-Release\release\regtest.exe.
Для передачи пути файла в качестве параметра нужно дописать %1 к значению переменной.
Тест
В контекстном меню случайного файла был запущен, добавленный ранее, пункт «test».
Результат:
Источники
1. How to Add Any Application to the Windows Desktop Right-Click Menu
2. Right click on Windows folder and open with Visual Studio Code
Добавляем собственный элемент в контекстное меню Windows. Я работаю в Windows 10, но инструкция подойдёт и для других версий операционной системы Windows. Естественно, не будем пользоваться сторонними утилитами, всё сделаем через Реестр Windows.
Если вы хотите добавить список элементов, то вам сюда:
Добавить список элементов в контекстное меню Windows
Контекстное меню — элемент графического интерфейса операционной системы, представляющий собой список команд, вызываемый пользователем для выбора необходимого действия над выбранным объектом.
Контекстное меню Windows можно вызвать несколькими способами:
- Правой кнопкой мыши.
- Клавишей ≣ Menu на клавиатуре.
- Сочетанием клавиш Shift + F10.
Как я уже сказал, для добавлять элементы в контекстное меню будем через Реестр Windows. Нажимаем Win + R и выполняем:
regedit
Откроется редактор реестра.
Выбор контекстного меню
Контекстное меню корзины отличается от контекстного меню файла. Поэтому сначала следует определиться, в какое контекстное меню будем добавлять элемент. В зависимости от этого, выберем для работы ветку реестра.
Контекстное меню любого файла:
\HKEY_CLASSES_ROOT\*\shell
Контекстное меню папки:
\HKEY_CLASSES_ROOT\Folder\shell
Контекстное меню «Этот компьютер»:
\HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Контекстное меню корзины:
\HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell
Контекстное меню рабочего стола:
\HKEY_CLASSES_ROOT\DesktopBackground\Shell
Контекстное меню запоминающих устройств:
\HKEY_CLASSES_ROOT\Drive\shell
Если контекстное меню нужно вызвать не для всех файлов, а для файла с определённым расширением, например, PNG, то так тоже можно сделать. В разделе \HKEY_CLASSES_ROOT находим нужное расширение «.png»:
\HKEY_CLASSES_ROOT\.png
Смотрим значение строкового параметра «(По умолчанию)». У меня это pngfile. Соответственно, нашей рабочей веткой будет:
\HKEY_CLASSES_ROOT\pngfile
Рабочую ветку выбрали, теперь можно переходить непосредственно к созданию новых элементов контекстного меню. Я для примера выбрал контекстное меню любого файла:
\HKEY_CLASSES_ROOT\*\shell
Добавить элемент в контекстное меню
Добавляем новый элемент в контекстное меню. Я добавлю новый элемент «Открыть в Google Chrome». При нажатии на него указанный файл будет открыт в браузере Google Chrome.
Добавляем новый раздел в рабочую ветку реестра. Нажимаем правой кнопкой мышки по папке «shell», в открывшемся списке выбираем Создать > Раздел.
Название раздела можно придумать любое. Я назвал «Открыть в Google Chrome».
В новом разделе создаём строковый параметр MUIVerb. Нажимаем правой кнопкой мышки по папке «Открыть в Google Chrome», в открывшемся списке выбираем Создать > Строковый параметр.
Указываем название параметра «MUIVerb».
Присваиваем значение параметру MUIVerb, делаем по нему двойной щелчок. Указываем значение параметра. Данный текст будет отображаться в контекстном меню. Я пишу «Открыть в Google Chrome».
Есть и другие необязательные параметры, которые можно указать для элемента контекстного меню:
- Position (строковый параметр) — можно изменить положение элемента контекстного меню. По умолчанию элемент отображается где-то в центре.
- Top — элемент вверху.
- Bottom — элемент внизу.
- Icon (строковый параметр) — иконка слева от элемента контекстного меню.
- C:\Program Files (x86)\Google\Chrome\Application\chrome.exe — можно указать путь к какой-либо программе, тогда будет отображаться иконка этой программы.
- %SystemRoot%\\regedit.exe,0 — у программы может быть несколько иконок, можно указать порядковый номер иконки в файле, начиная с нуля
- imageres.dll,275 — dll-файл с иконками и порядковый номер иконки в файле, начиная с нуля.
- %SystemRoot%\\system32\\imageres.dll,82 — путь к dll-файлу с иконками и порядковый номер иконки в файле, начиная с нуля.
- Extended (строковый параметр) — этот параметр делает элемент скрытым. Для отображения элемента нужно вызвать контекстное меню с зажатой клавишей Shift.
- Не нужно присваивать значение, пустая строка.
- SeparatorBefore (строковый параметр) — этот параметр добавляет разделитель выше.
- Не нужно присваивать значение, пустая строка.
- SeparatorAfter (строковый параметр) — этот параметр добавляет разделитель выше.
- Не нужно присваивать значение, пустая строка.
Добавлю несколько необязательных параметров.
Создаю строковый параметр Position со значением «Top», чтобы элемент оказался вверху контекстного меню.
Создаю строковый параметр Icon со значением «C:\Program Files (x86)\Google\Chrome\Application\chrome.exe», чтобы слева от элемента отобразилась иконка Google Chrome.
Вот что получилось:
Двигаемся дальше. Внутри раздела «Открыть в Google Chrome» создаём новый раздел. Нажимаем правой кнопкой мышки по папке «Открыть в Google Chrome», в открывшемся списке выбираем Создать > Раздел.
Указываем название раздела «command».
В новом разделе command меняем значение по умолчанию. Двойной клик мышкой по параметру «(По умолчанию)». Здесь нужно указать команду, которую нужно выполнить при выборе нашего элемента контекстного меню.
Мне нужно открыть файл в браузере Google Chrome. Пишу команду:
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe "%1"
%1 — вместо этого значения будет подставляться путь к текущему файлу.
Проверяю результат. Нажимаю правой кнопкой мыши на файл. Верхний элемент — «Открыть в Google Chrome» с иконкой. При клике файл открывается в браузере.
Иногда пользователи замечают, что из контекстного меню, которое появляется при нажатии правой кнопки мыши на свободном месте рабочего стола или внутри открытой папки, пропадает пункт «Создать -> Текстовый документ». Это вызывает сложности, если Вы часто пользуетесь блокнотом Windows или другим текстовым редактором для написания заметок, статей и прочей полезности.
Причина пропажи пункта создания текстового документа обычно связано с установкой и удалением каких-либо программ, чаще текстовых редакторов. При удалении они тянут за собой реестр, в котором были прописаны атрибуты для HKEY_CLASSES_ROOT\…
Эта проблема легко решается внесением в реестр необходимых параметров. Для этого скачайте файл recovery_point_text.rar в конце статьи, распакуйте его, внутри найдёте файл recovery_point_text.reg. При нажатии на него ваша операционная система спросит что-то типа: «Внести изменения в реестр?», смело соглашайтесь и проблема будет решена. Возможно придётся перезагрузить компьютер. Этот приём проверялся и работает на всех Windows, включая Windows 10.
При проведении этой операции компьютер предупредит о возможной неправильной работе компонентов — не обращайте внимание, в этом файле только команды связанные с корректной работой блокнота (текстового редактора).
Для перестраховки можете создать резервную копию реестра Вашего компьютера. Но это не обязательно. Сам не раз пользовался этим способом восстановления — всегда удачно. Файл, который Вы скачаете имеет расширение .reg. Можете открыть его с помощью блокнота и убедится, что он не несёт в себе вредных команд.
Восстановление пункта контекстного меню Windows «Создать Текстовый документ»
— Находим строку поиска:
Для Windows 7,8 — меню ПУСК правой кнопкой — пункт «НАЙТИ»;
Для Windows 10 такие же действия, если не выведен в трее;
— В строке поиска пишем regedit и нажимаем Enter;
— Нажимаем первый пункт верхнего меню «Файл»;
— Жмём «Экспорт»;
— В появившемся окне, в самом нижней части в поле «Диапазон экспорта», выбрать (стоит по умолчанию) «Весь реестр»;
— Указываем место расположения скаченного файла (кликаем по нему) и Нажимаем «Сохранить».
При скачивании файла не забудьте место его сохранения на своём компьютере.
Простой способ открыть реестр:
— комбинация клавиш Windows + R
— в открывшееся окно ввести regedit
— нажать ENTER согласиться с входом в реестр.
В любой момент реестр можно восстановить, выполнив эти же действия, но только используя «Импорт» в меню «Файл». При импорте файла указать его место хранения.
Скачать файл для восстановления в контекстном меню пункта «Создать -> Текстовый документ»:
recovery_point_text.rar [759 b] (Скачали: 12772)
Скачав файл, можно выполнить всё проще:
— распаковываем его;
— запускаем и соглашаемся со всеми действиями в выпадающих окнах.
Если Вам приходится часто создавать шаблоны HTML страниц, читайте: «Добавление нового пункта в контекстное меню: Создать HTML документ». Это поможет создавать за один клик заранее подготовленный шаблон страницы сайта.
Там же можно скачать пример готовой адаптивной страницы с подключенной по CDN библиотекой jQuery 3.5.1 и фреймворком Bootstrap 5.