Все манипуляции мы будем производить в текстовом редакторе (Блокнот Windows - Notepad), сохранять полученный код в определенном формате для последующего добавления его в реестр. Это немного дольше, чем создавать нужные записи в редакторе реестра, но в нашем случае будет возможность сохранить созданные файлы в отдельную директорию и использовать их повторно при переустановке операционной системы или на другом компьютере. Вначале я опишу требуемые шаги для создания каждого из нижеописанных пунктов, а потом только перечислю эти пункты и предоставлю код для каждого из них. То есть, сначала мы создадим файл для добавления записей в реестр, а потом скопируем в него текст для требуемых команд. Не имеет значения, сделаете ли Вы общий файл для всех пунктов, или отдельный для каждого.
- Для начала, создаем обычный текстовый документ (.txt) с произвольным названием и открываем его.
- В первую строчку обязательно копируем следующий текст: "Windows Registry Editor Version 5.00" (без кавычек). Эта строка дает понять операционной системе, что данный файл предназначен для добавления выделенных строк через редактор реестра Windows. Если в вашем .reg файле не будет на первом месте этой строки – данные не будут добавлены в реестр и вы получите сообщение об ошибке.
- Далее, с новой строчки (или через строчку), вставляем код для каждого требуемого пункта меню (варианты описаны ниже)
- В главном меню выбираем "Файл" – "Сохранить как". Находим место для сохранения и заполняем поля:
- Имя файла: Любое название, в конце дописываем расширение ".reg" (без кавычек)
- Тип файла: "Все файлы"
- Кодировка: Оставляем ту, что выбрана по умолчанию

- В конце запускаем сохраненный файл и отвечаем "Да" на все вопросы и предупреждения системы.
Компонент "Панель управления" (Control Panel)
[HKEY_CLASSES_ROOT\Directory\Background\Shell\ContrPanel]
"MUIVerb"="Панель управления"
"Icon"="imageres.dll,22"
"Position"="Bottom"
[HKEY_CLASSES_ROOT\Directory\Background\Shell\ContrPanel\command]
@="control.exe"
Компонент "Удаление программ"
[HKEY_CLASSES_ROOT\Directory\Background\shell\DeleteProgs]
"Icon"="shell32.dll,10"
"MUIVerb"="Удаление программ"
[HKEY_CLASSES_ROOT\Directory\Background\shell\DeleteProgs\command]
@="control appwiz.cpl"
Компонент "Диспетчер устройств" (Device Manager)
[HKEY_CLASSES_ROOT\Directory\Background\shell\DeviceManager]
"Icon"="imageres.dll,29"
"MUIVerb"="Диспетчер устройств"
"Position"="Bottom"
[HKEY_CLASSES_ROOT\Directory\Background\shell\DeviceManager\command]
@="control hdwwiz.cpl"
Пункт "Выполнить" (Run)
[HKEY_CLASSES_ROOT\Directory\Background\shell\Run]
"Icon"="%SystemRoot%\System32\imageres.dll,-100"
"MUIVerb"="Выполнить"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Run\command]
@="%SystemRoot%\system32\rundll32.exe shell32.dll,#61"
Команда "Очистить корзину"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Recycle Bin]
"CommandStateHandler"="{c9298eef-69dd-4cdd-b153-bdbc38486781}"
"Description"="@shell32.dll,-31332"
"Icon"="shell32.dll,-254"
"MUIVerb"="@shell32.dll,-10564"
"Position"="Bottom"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Recycle Bin\command]
"DelegateExecute"="{48527bb3-e8de-450b-8910-8c4099cb8624}"
Компонент "Поиск" (Search)
[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\Search]
@="{2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}"
Функция "Копировать в папку" (Copy to folder)
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB630-2971-11D1-A18C-00C04FD75D13}]
@=""
Функция "Переместить в папку" (Move to folder)
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB631-2971-11D1-A18C-00C04FD75D13}]
@=""
Некоторые пункты меню будут работать только в последних версиях операционных систем Windows.
Если кто-то столкнулся с трудностями при создании файла – Вы можете
скачать архив 2.70 Кб с отдельными файлами под каждый описанный пункт меню.
Немного расшифрую код (на случай, если Вы заходите внести в него какие-то изменения) на примере, допустим, Диспетчера устройств:
- HKEY_CLASSES_ROOT\Directory\Background\shell\ - Тип контекстного меню и путь к нему в реестре
- DeviceManager- Название создаваемой ветки реестра
- "Icon"="imageres.dll,29"- Путь к системной библиотеке с иконками и номер картинки в ней
- "MUIVerb"="Диспетчер устройств" - Название пункта меню
- "Position"="Bottom" - Местоположение пункта в меню
- HKEY_CLASSES_ROOT\...\shell\DeviceManager\command - Путь новой исполняемой подветки реестра
- @="control hdwwiz.cpl" - путь и название исполняемого файла
По поводу последнего пункта: В данном случае операционная система ищет файл в системной папке, поскольку нету пути к нему. Можно было бы прописать более полную строчку, включающую путь к файлу. Тогда строка выглядела бы следующим образом:
@="%SystemRoot%\system32\control hdwwiz.cpl "
В качестве закрепления, давайте усложним задачу и создадим пункт контекстного меню к любому другому приложению, например браузеру, установленному в НЕ системной папке и заставим его открыть сайт "rapidsoft.org". Вот код, который у меня получился:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\OperaRapidsoft]
"MUIVerb"="Rapidsoft.org"
"Icon"="D:\\P Program Files\\Opera\\opera.dll,1"
"Position"="Bottom"
[HKEY_CLASSES_ROOT\Directory\Background\shell\OperaRapidsoft\command]
@="D:\\P Program Files\\Opera\\opera.exe http://rapidsoft.org"
Скриншот с результатом:

Спасибо за уделенное внимание.