Статьи Настройка Windows Создание разделов с подпунктами в контекстных меню Windows 7
Четверг, 12 Января 2012 в 22:00

Создание разделов с подпунктами в контекстных меню Windows 7

Создание разделов в контекстных меню

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

В первую очередь, я бы советовал прочитать предыдущую часть статьи, где мы добавляли собственные приложения и функции в контекстные меню. Теперь мы научимся создавать группы ярлыков и объединять их в отдельные разделы (каскадные меню). Как и в предыдущий раз, мы будем работать в текстовом редакторе, и потом, одним кликом интегрировать все записи в системный реестр. После рассмотрения каждой строчки кода, я предоставлю свой результат, который нормально работает в моей системе. Все созданные файлы для импорта в реестр можно сохранить на отдельном (не системном) диске и позже (например, после переустановки операционной системы) интегрировать их повторно (при условии, что нужные приложения останутся на том же месте).

В качестве примера, я планирую добавить в контекстное меню рабочего стола раздел "Очистка системы", и в него – ярлыки для запуска двух утилит (CCleaner и Defraggler).

Раздел контекстного меню Windows 7

Все действия выполняются в два этапа:

  • Создание раздела (каскадного меню)
  • Создание подменю с ярлыками



Приступим. Как всегда, создаем текстовый документ и открываем его блокнотом Windows.

Этап №1. В первой строчке прописываем заголовок – идентификатор (он даст понять системе, что этот файл предназначен для интеграции с реестром Windows):

Windows Registry Editor Version 5.00

В следующей строчке указываем путь к требуемому контекстному меню (рабочий стол) и желаемое системное название создаваемого раздела:

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\ЛюбоеНазвание]

Дальше прописываем дополнительные свойства для созданного раздела:

(Не обязательно) - Путь, имя файла с требуемой иконкой для раздела, а также (если в нем много изображений) номер нужной картинки

"Icon"=" Диск:\\Папка\\Файл с иконкой "

(Не обязательно) - Положение в списке меню. Доступны значения "top" (вверху), или "bottom"(внизу). В данном случае, я хочу поместить этот раздел в сам низ

"Position"="bottom"

Название раздела. Тот текст, который мы будем видеть в качестве заголовка в списке меню. Это обязательный параметр

"MUIVerb"="Название раздела"

Системные названия пунктов меню нового раздела. Далее мы будем под них создавать параметры в другой ветке реестра. Разделяем их точкой с запятой (в моем случае, это названия двух утилит, которые я планирую добавить)

"SubCommands"="ccleaner;defraggler"

Первый этап завершен. Мы создали новый раздел в контекстном меню и указали все требуемые для него свойства. В конце прописали названия двух новых веток в реестре, которые на следующем этапе превратятся в два всплывающие пункты меню (для вызова программ CCleaner и Defraggler).




Этап №2. Пришла очередь создать новые ветки с описанием свойств для каждой программы и подветки, указывающие на расположение исполняемых файлов программ. Я опишу все на примере первого приложения, CCleaner. Остальные делаются по тому же принципу. Продолжаем работу в том же текстовом файле...

Создадим новую ветку для приложения. Название должно совпадать с тем, которое Вы указали на предыдущем этапе в строке "SubCommands"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
\ccleaner]

Укажем требуемый заголовок, который в последствии мы увидим в меню

@="Ваш заголовок"

Иконка для вызываемого приложения. Можно просто указать путь к исполняемому файлу

"Icon"="Диск:\\Папка\\Приложение.exe"

Создаем подветку в реестре, в которой будет ключ с командой для запуска приложения

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
\ccleaner\command]

Ключ с адресом исполняемого файла приложения

@="Диск:\\Папка\\Исполняемый файл.exe"

Мы практически закончили. Для второго приложения прописываем еще раз 4 последние строчки, только меняем значения по тому же шаблону. В результате, содержимое текстового файла (в моем случае) выглядит следующим образом (можете сверить структуру):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\SysCleaning]
"Icon"="SHELL32.dll,32"
"Position"="bottom"
"MUIVerb"="Очистка системы"
"SubCommands"="ccleaner;defraggler"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
\ccleaner]
@="CCleaner"
"Icon"="D:\\P Program Files\\CCleaner\\CCleaner64.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
\ccleaner\command]
@="D:\\P Program Files\\CCleaner\\CCleaner64.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
\defraggler]
@="Defraggler"
"Icon"="D:\\P Program Files\\Defraggler\\Defraggler64.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
\defraggler\command]
@="D:\\P Program Files\\Defraggler\\Defraggler64.exe"

Сохраняем файл ("Сохранить как" - любое место, любое название, любая кодировка, Тип: Все файлы, расширение: .reg).

Сохранение reg-файла в блокноте Windows

Запускаем его, на все системные вопросы отвечаем "Да", проверяем результат.

Для изменения каких-то параметров, достаточно сделать их в том же файле (Правый клик - Открыть с помощью - Блокнот) и повторно его запустить. Для удаления изменений потребуется открыть редактор реестра (Win+Rregedit - OK) и удалить созданные разделы (в моем примере их 3 шт.) вручную (правый клик на разделе – "Удалить"). В этом случае удалятся также все созданные нами подразделы, ключи и параметры. В принципе, всю процедуру по созданию раздела и пунктов контекстных меню, можно производить напрямую, в редакторе реестра, и по мере продвижения смотреть результат, но мне этот путь показался более сложным. На всякий случай, укажу несколько объяснений для этого варианта:

  • Создание раздела в реестре - выделяем требуемый раздел, правый клик – "Создать" – "Раздел"
  • Для создания параметра, в разделе - правый клик на пустом месте – "Создать" – "Строковый параметр"
  • Для изменения названия выделенного параметра - делаем правый клик – "Переименовать"
  • Для изменения свойств выделенного параметра - делаем по нему двойной клик.
  • В указанных выше примерах, строчки в квадратных скобках – это путь к требуемом разделе
  • Значения Icon, Position, MUIVerb, SubCommands – это параметры ("@=" – параметр "по умолчанию")
  • Строки, что справа от параметров – это их свойства
  • Все названия нужно вводить без скобок
  • Во всех путях нужно указывать вместо "\\" так: "\"
Последнее изменение: Понедельник, 23 Января 2012 в 22:48
Авторизуйтесь, чтобы получить возможность оставлять комментарии

Обновления приложений