Найти в Дзене

Windows — добавить элемент в контекстное меню

Оглавление

Добавляем собственный элемент в контекстное меню Windows. Я работаю в Windows 10, но инструкция подойдёт и для других версий операционной системы Windows. Естественно, не будем пользоваться сторонними утилитами, всё сделаем через Реестр Windows.

Если вы хотите добавить список элементов, то вам сюда:

Добавить список элементов в контекстное меню Windows

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

Контекстное меню Windows можно вызвать несколькими способами:

  • Правой кнопкой мыши.
  • Клавишей ≣ Menu на клавиатуре.
  • Сочетанием клавиш Shift + F10.

Как я уже сказал, для добавлять элементы в контекстное меню будем через Реестр Windows. Нажимаем Win + R и выполняем:

regedit
-2

Откроется редактор реестра.

-3

Выбор контекстного меню

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

Контекстное меню любого файла:
\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

-4

Смотрим значение строкового параметра "(По умолчанию)". У меня это pngfile. Соответственно, нашей рабочей веткой будет:
\HKEY_CLASSES_ROOT\pngfile

-5

Рабочую ветку выбрали, теперь можно переходить непосредственно к созданию новых элементов контекстного меню. Я для примера выбрал контекстное меню любого файла:
\HKEY_CLASSES_ROOT\*\shell

-6

Добавить элемент в контекстное меню

Добавляем новый элемент в контекстное меню. Я добавлю новый элемент "Открыть в Google Chrome". При нажатии на него указанный файл будет открыт в браузере Google Chrome.

Добавляем новый раздел в рабочую ветку реестра. Нажимаем правой кнопкой мышки по папке "shell", в открывшемся списке выбираем Создать > Раздел.

-7

Название раздела можно придумать любое. Я назвал "Открыть в Google Chrome".

-8

В новом разделе создаём строковый параметр MUIVerb. Нажимаем правой кнопкой мышки по папке "Открыть в Google Chrome", в открывшемся списке выбираем Создать > Строковый параметр.

-9

Указываем название параметра "MUIVerb".

-10

Присваиваем значение параметру MUIVerb, делаем по нему двойной щелчок. Указываем значение параметра. Данный текст будет отображаться в контекстном меню. Я пишу "Открыть в Google Chrome".

-11

Есть и другие необязательные параметры, которые можно указать для элемента контекстного меню:

  • 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", чтобы элемент оказался вверху контекстного меню.

-12

Создаю строковый параметр Icon со значением "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", чтобы слева от элемента отобразилась иконка Google Chrome.

-13

Вот что получилось:

-14

Двигаемся дальше. Внутри раздела "Открыть в Google Chrome" создаём новый раздел. Нажимаем правой кнопкой мышки по папке "Открыть в Google Chrome", в открывшемся списке выбираем Создать > Раздел.

-15

Указываем название раздела "command".

-16

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

-17

Мне нужно открыть файл в браузере Google Chrome. Пишу команду:

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe "%1"

%1 — вместо этого значения будет подставляться путь к текущему файлу.

-18

Проверяю результат. Нажимаю правой кнопкой мыши на файл. Верхний элемент — "Открыть в Google Chrome" с иконкой. При клике файл открывается в браузере.

-19

Источник:
https://internet-lab.ru/win_context_menu_add

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.