Как открывать файлы из контекстного меню в любой программе – Вадим Стеркин
Из этой статьи вы узнаете, как добавить в контекстное меню файлов пункт для их открытия в нужной программе. На примере текстового редактора я покажу, как редактировать в нем файлы с обычными и полными правами. Вы сможете использовать этот способ для открытия файлов из контекстного меню в любых программах.
Написать материал меня подтолкнуло обсуждение проблемы, с которой сталкиваются люди, использующие UAC, при попытке быстро отредактировать файл, расположенный в системной папке. Я расскажу, как решил эту проблему для себя.
Впрочем, открытию файлов с полными правами будет посвящена вторая часть статьи. А сегодня речь пойдет о пункте меню для открытия файлов с обычными правами. Этого достаточно в большинстве случаев, а при отключенном контроле учетных записей – всегда.
Цель — ускорение работы
Добавив возможность открытия файлов в любимой программе из контекстного меню, вы ускоряете свою работу в системе. Вам не нужно использовать диалоговое окно «Открыть с помощью», которое, кстати, бесполезно, если надо открыть файл с полными правами.
Блокнот, входящий в состав Windows 7, интегрирован в контекстное меню. Для многих типов файлов в нем отображается пункт «Изменить», с помощью которого файл можно быстро открыть в блокноте.
Однако этот пункт есть далеко не у всех типов файлов, не говоря уже о файлах без расширений. Можно повысить скорость своей работы в системе, добавив в контекстное меню пункт для открытия любых файлов в блокноте.
Не удивлюсь, если вместо блокнота вы используете сторонний редактор с более широкими возможностями. Большинство текстовых редакторов умеет интегрироваться в контекстное меню. Например, Notepad++ делает это самостоятельно, а Akelpad — помощью плагинов.
Однако при включенном UAC этот способ не подходит для правки файлов в системных папках Program Files или Windows (классический пример — файл hosts). Даже если файл откроется, сохранить изменения в нем не удастся.
Это происходит потому, что из контекстного меню редактор запускается с обычными правами, наследуя права проводника. А для сохранения файлов в системных папках нужны права администратора.
Кроме того, не все программы умеют интегрироваться в контекстное меню, и дальше мы займемся устранением этого недостатка. Если вы читали другие мои статьи на тему контекстных меню, вам многое будет знакомо.
Добавление пункта в контекстное меню всех типов файлов
Добавить в контекстное меню запуск программы с обычными правами очень просто, и я покажу это на примере блокнота.
Ручная правка реестра
Пункт меню добавляется за три шага.
- Перейдите в раздел реестра
HKEY_CLASSES_ROOT\*\shell
Пункт меню, добавленный в этот раздел, отобразится для любого файла у всех пользователей.
- Создайте подраздел с любым именем, например, Editor, а в нем создайте строковые параметры:
- Параметр MUIVerb (обязательный) отвечает за название пункта меню, поэтому значение можете выбирать любое. Я назвал свое Открыть в Блокноте.
- Параметр Icon (необязательный) задает значок для пункта меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для своего пункта я задал стандартный значок notepad.exe.
- Параметр Position (необязательный) отвечает за расположение пункта в контекстном меню. Вы можете задать ему значение
- Параметр Extended (необязательный) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.
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 10
Блокнот — самый простой графический текстовый редактор в Windows. Единственный, в котором нет никаких дополнительных функций, вариантов разметки и прочих прелестей, усложняющих жизнь обывателям. До сих пор это приложение остаётся наиболее популярным рабочим инструментом, так что многие пользователи хотят иметь к нему быстрый доступ.
Где находится программа «Блокнот»?
Сама по себе утилита лежит в системных файлах, а именно в директории C:\Windows. В той самой, в которую вы обычно стараетесь не лезть, чтобы не сломать ОС. Блокнот там кроется под названием notepad.exe. Его можно найти через поиск или вручную пролистать список папок вниз и найти там соответствующий файл.
Чтобы быстро перейти в эту системную папку:
- Одновременно нажимаем клавиши Win + R.
- В открывшемся окне вводим слово %WinDir% и кликаем по кнопке ОК.
Вот и нужное приложение. Можно запустить его прямо отсюда
Чтобы с помощью встроенного поиска быстро перейти к файлу запуска «Блокнота»:
- Переходим в директорию с системными файлами.
- Затем кликаем по поисковому полю в правом верхнем углу.
- Вводим туда слово notepad (оно переводится как «блокнот», кстати).
Сюда вводим название программы, что не искать его самостоятельно
Собственно, с расположением и сущность блокнота разобрались.
Вы также можете создать ярлык для файла запуска notepad.exe. Просто кликаем по этому файлу и в появившемся контекстном меню наводим курсор на пункт «Отправить», выбираем подпункт «Создать ярлык». После этого на рабочем столе появится отдельная иконка для запуска блокнота.
Тут же есть кнопка «Закрепить на панели задач». Так «Блокнот» будет всегда на виду
Ищем «Блокнот» с помощью локального поисковика Windows
Как и любую другую программу в ОС Microsoft, «Блокнот» можно отыскать стандартными средствами. Для этого:
- Кликаем по иконке в виде поиска в левой части панели инструментов Windows.
- Вводим туда название программы «Блокнот» или Notepad (для английской версии системы).
- Нажимаем на клавишу «Ввод» (Enter).
Как быстро запустить «Блокнот»
Этот текстовый редактор можно открыть, используя менеджер запуска программ Windows и командную строку. Это легко реализуется, потому что сам по себе блокнот является системным компонентом и входит в состав Windows. Поэтому ОС прекрасно о нем знает и может запускать с помощью специальных команд.
Чтобы включить «Блокнот» с помощью командной строки:
- Одновременно нажимаем клавиши Win + R.
- Вводим название утилиты cmd.exe и кликаем по кнопке ОК.
- Затем вводим название программы notepad и жмем на клавишу «Ввод».
Специфичный путь, но тоже рабочий
Как видите, действительно работает
Это метод на тот случай, если вы дружите с командной строкой.
Вообще, можно сократить путь и ввести название программы прямо в менеджере запуска приложений:
- Одновременно нажимаем клавиши Win + R в любой части операционной системы.
- Вводим название программы notepad.exe и нажимаем на клавишу «Ввод».
Можно и так. Будет даже быстрее и проще
Произойдет то же самое. Запустится блокнот.
Если вы введёте какой-то текст, то при попытке закрыть программу появится предложение сохранить написанное в качестве текстового документа в выбранном формате (по умолчанию это . txt, но можно указать .bat или .reg при необходимости).
Как запустить блокнот из папки или с рабочего стола
Если вы довольно долго пользуетесь Windows, то в курсе, что в контекстном меню системы есть возможность создавать новые файлы и папки. Поясню: когда вы кликаете правой кнопкой мыши по любой папке или на пустом рабочем столе, то в появившемся меню увидите пункт «Создать». Он как раз отвечает за создание новых файлов.
Через это же меню можно создавать текстовые документы. Они, в свою очередь, открываются с помощью блокнота (и сохраняются тоже с помощью него). Чтобы это сделать:
- Кликаем правой кнопкой мыши по пустому пространству на рабочем столе или в папке.
- Наводим курсор на пункт «Создать».
- Затем наводим его на подпункт «Текстовый документ» и кликаем по нему.
Пожалуй, самый известный и популярный способ включения блокнота. Да и логичный. Ведь нам нужен именно текстовый файл
- Откроется блокнот с новым текстовым файлом.
На рабочем столе сразу появится файл в формате .txt. То есть по умолчанию утилита не предложит вам пересохранить документ в выбранном формате. Для этого придется после ввода текста одновременно нажать клавиши
Также формат текстового документа можно поменять через функцию переименования файлов.
Post Views: 8 583
Notepad++ Открыть содержащую папку и ВЫБРАТЬ ФАЙЛ
спросил
Изменено 2 года, 4 месяца назад
Просмотрено 4к раз
Что нужно добавить к следующей команде (в файле ярлыков.xml), чтобы Notepad++ открывал содержащуюся в ней папку и также выбирал текущий файл?
Спасибо.
- блокнот++
Я могу найти его в своем Notepad++ v6.6.9. готовая работа:
Щелкните правой кнопкой мыши вкладку нужного документа.
В контекстном меню выберите Открыть содержащую папку в проводнике .
▶ Эта команда не только открывает указанную папку, но и выбирает текущий файл .
В исходном коде Notepad++ видно, что команда меню работает так же, как ваша:explorer /select,$(FULL_CURRENT_PATH)
, поэтому вам не нужно добавлять его самостоятельно.
И вы также можете проверить аналогичный вопрос для командной строки.
Из https://vincent.re/en/open-содержащая-папка-в-блокноте
Чтобы назначить команду ярлыку. Откройте %APPDATA%\Notepad++\shortcuts.xml
добавьте следующее для Ctrl + Shift + O <Тип действия="2" сообщение="0" wParam="41019" lParam="0" sParam="" /> Макрос>
Например, мой файл будет выглядеть так через
<БлокнотПлюс> <Внутренние команды /> <Макросы> <Макрос…>…Макрос> <Имя макроса="Открыть содержащую папку в проводнике" Ctrl="yes" Alt="no" Shift="yes" Key="79"> <Тип действия="2" сообщение="0" wParam="41019" lParam="0" sParam="" /> Макрос> Макросы><Команда…>…Команда> <Команды подключаемых модулей />БлокнотПлюс>
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаТребуется, но никогда не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
Как упорядочить файлы, открытые в блокноте++, по проекту
Задавать вопрос
спросил
Изменено 1 год, 9 месяцев назад
Просмотрено 3к раз
У меня обычно открыто около 20 страниц в блокноте++, и я хотел бы каким-то образом сгруппировать связанные файлы вместе, чтобы мне было легче перемещаться между связанными файлами. Я читал о функции проекта в npp, но я не уверен, что это то, что мне нужно. Я не хочу перечислять все файлы в папке как проект. Файлы, которые мне нужно сгруппировать, находятся в разных папках, и я не хочу перечислять или открывать все файлы в какой-либо папке.
Одно из решений этой потребности будет работать примерно так:
- Существует боковая панель для «рабочих групп»
- Я могу создавать и переименовывать рабочие группы, а также иным образом управлять ими
- Я могу связать любой открытый файл/вкладку с рабочей группой
- Когда я закрываю файл, он автоматически удаляется из рабочей группы
Если бы я мечтал о том, как это могло бы работать в идеале, был бы способ указать, что любой открытый файл, находящийся в указанной корневой папке, будет автоматически добавляться в эту рабочую группу.
- блокнот++
Нет такой возможности, как вы описываете в Notepad++.
Существует запрос функции от 3 лет назад с просьбой о чем-то подобном: https://notepad-plus-plus.org/community/topic/11573/feature-request-tab-groups-and-guidence
Нет комментарии или ответы на запрос функции.
Есть несколько других вопросов, задающих аналогичные или связанные вещи, и, судя по их чтению, в этом приложении нет функций, таких как вы описываете:
Есть ли способ эффективно управлять вкладками в Notepad++
Notepad++ — эффективная обработка групп тегов
1
Попробуйте следующее:
- В меню просмотра -> Проект -> Панель проекта 1
- В этот момент у вас должно появиться новое окно слева от главного окна.
- Я не помню, нужно ли сначала сохранять файл псевдо-рабочей области. Если так, Сделай так.
- Затем щелкните правой кнопкой мыши узел рабочей области и выберите «Добавить новый».
Ваш комментарий будет первым