Редактируем контекстное меню рабочего стола

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

30.12.2011 23:56,

Рассмотрим создание каскадного меню в контекстном меню Рабочего стола и ярлыка Компьютер в Windows 7.

Редактируем контекстное меню рабочего стола

Это руководство разделено на две части:

  1. Создание каскадных меню и добавление ярлыков программ
  2. Определение функционирования ярлыков путем их регистрации

Создание каскадных меню и добавление ярлыков программ

1. В строке поиска меню Пуск или в меню Выполнить напечатайте regedit и нажмите Ввод. Таким образом открываем редактор реестра.

2. Для добавления каскадного меню в контекстное меню Рабочего стола перейдите к следующему разделу реестра:

HKEY_CLASSES_ROOT\DesktopBackground\Shell

Для добавления каскадного меню в контекстное меню значка Компьютер перейдите к следующему разделу реестра:

HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell

Дальнейшие действия идентичны для указанных выше контекстных меню.

3. Необходимо создать новый подраздел в разделе «Shell«.

Нажмите правую кнопку мыши на разделе «Shell» и выберите «Создать – Раздел».

Присвойте произвольное имя новому подразделу, например «Menu1» (без кавычек).

4. Установите курсор на новом разделе «Menu1″. В правой части редактора реестра нажмите правую кнопку мыши и выберите Создать – Строковый параметр. Необходимо создать 4 строковых параметра со следующими именами:

  • MUIVerb
  • SubCommands
  • Icon
  • Position

Параметры Icon и Position не обязательны, в отличие от параметров MUIVerb и SubCommands, которые являются обязательными.

Значение параметра MUIVerb определяет отображаемое имя каскадного меню. Вы можете присвоить произвольное имя. Например: Браузеры, Программы и т.п.

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

5. Предположим, вы создали каскадное меню «Программы» на шаге 3 и теперь хотите добавить в него команды запуска Блокнота и Калькулятора. В этом случае, вам необходимо установить следующее значение параметра:

notepad;calc

Вы также можете использовать np;ca вместо notepad;calc, но в таком случае вы должны использовать то же имя при регистрации этих команд во второй части руководства.

6. Значение параметра Icon используется опционально. С помощью этого параметра вы можете задать отображаемую иконку каскадного меню. В данном примере мы используем иконку Проводника. Для этого значение параметра Icon установим explorer.exe.

7. Значение параметра Position определяет позицию каскадного меню в контекстном меню. Если параметр Position отсутствует или его значение не задано, каскадное меню располагается в центре контекстного меню.

Вы можете использовать значения Top – для расположения каскадного меню вверху контекстного меню или Bottom – для расположения его внизу контекстного меню.

Создание каскадных меню и добавление ярлыков программ

Определение функционирования ярлыков путем их регистрации

После добавления ярлыков программ в каскадное меню, вам необходимо зарегистрировать команды, упомянутые в значении параметра SubCommands, используя следующий метод:

1. Перейдите к следующему разделу реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell

2. В этом разделе мы должны создать новый подраздел для каждой команды, указанной в значении параметра SubCommands. В нашем примере мы использовали две команды: notepad и calc. Следовательно, необходимо создать два дополнительных раздела реестра в разделе CommandStore\Shell с именами notepad и calc.

3. После создания раздела измените значение параметра «По умолчанию» (в правой части редактора реестра) на имя, которое будет отображаться для указанного пункта каскадного меню. Например установите его значение «Блокнот» или «Калькулятор» или любое другое.

4. Если вы хотите, чтобы отображалась иконка слева от имени пункта каскадного меню, необходимо создать новый строковый параметр с именем Icon и значением равным пути к файлу, содержащему иконку. Например, значение параметра может быть calc.exe или C:\Windows\System32\calc.exe для отображения иконки калькулятора для пункта каскадного меню Калькулятор.

5. В каждом из новых разделов реестра (в нашем примере это calc и notepad) необходимо создать подраздел с именем command. В новом разделе command в правой части редактора реестра измените значение параметра «По умолчанию» установив его равным абсолютному пути к исполняемому файлу программы, которая будет запускаться при нажатии на соответствующий пункт каскадного меню. В случае с калькулятором или блокнотом можно указывать только имя исполняемого файла так как они находятся в папках, зарегистрированных в переменных среды.

Например: для запуска калькулятора при выборе пункта каскадного меню Калькулятор значение параметра По умолчанию в разделе command установите calc.exe.

Определение функционирования ярлыков путем их регистрации

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

Каскадное меню Программы для контекстного меню Рабочего стола:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Menu1]
"MUIVerb"="Программы"
"SubCommands"="notepad;calc"
"icon"="explorer.exe"
"Position"="bottom"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\notepad]
@="Блокнот"
"icon"="notepad.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\notepad\command]
@="notepad.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\calc]
@="Калькулятор"
"icon"="calc.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\calc\command]
@="calc.exe"

Каскадное меню Программы для контекстного меню Компьютер:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Menu1]
"MUIVerb"="Программы"
"SubCommands"="notepad;calc"
"icon"="explorer.exe"
"Position"="bottom"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\notepad]
@="Блокнот"
"icon"="notepad.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\notepad\command]
@="notepad.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\calc]
@="Калькулятор"
"icon"="calc.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\calc\command]
@="calc.exe"

Вы можете изменить содержимое представленных reg-файлов по своему усмотрению для добавления других каскадных меню или других пунктов каскадного меню.

Для удаления каскадных меню удалите разделы реестра, созданные на шаге 3 первой части руководства и на шаге 2 второй части

Оцените материал:  
(Голосов: 9, Рейтинг: 3.49)

Каждый вечер мы будем присылать вам одно письмо со всеми опубликованными за день материалами. Нет материалов - нет писем, просто и удобно (другие варианты).

Материалы по теме


Комментарии (2)

kdafilm, 25.07.2013 13:33
Вам нужно авторизоваться, чтобы голосовать Вам нужно авторизоваться, чтобы голосовать

А как сделать запуск с параметрами(прим %1-путь) как на файле или директории на WinXP именно каскадные меню
А как сделать запуск с параметрами(прим %1-путь) как на файле или директории на WinXP именно каскадные меню

Валентина Ивановна, 01.07.2014 14:28
Вам нужно авторизоваться, чтобы голосовать Вам нужно авторизоваться, чтобы голосовать

Слишком все сложно. Нельзя ли по проще. Как мне изменить язык в контекстном меню? Ни как не перейду на русский.
Слишком все сложно. Нельзя ли по проще. Как мне изменить язык в контекстном меню? Ни как не перейду на русский.