Добавление своих пунктов в контекстные меню рабочего стола и компьютера позволяет ускорить доступ к элементам панели управления, любимым программам и утилитам. Добавить такой пункт очень просто, и через минуту вы уже будете знать, как это сделать. Для примера я покажу, как добавить вызов панели управления из контекстного меню.
Откройте редактор реестра и приступим!
- В зависимости от того, где вы хотите создать пункт меню, выберите раздел.
- для меню «Компьютер» перейдите в раздел:
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
- для меню рабочего стола перейдите в раздел:
HKEY_CLASSES_ROOT\DesktopBackground\Shell
- для меню «Компьютер» перейдите в раздел:
- Щелкните правой кнопкой мыши по разделу shell и выберите пункт Создать – Новый раздел. Имя для раздела можно выбрать любое, но оно обязательно должно быть латинское. Назовите его, например, Item1. В этом разделе создайте строковые параметры:
- MUIVerb (обязательно) отвечает за название пункта меню, поэтому значение можете выбирать любое. Я назвал свой Панель управления.
- Icon (необязательно) задает значок для пункта меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для пункта «Панель управления» я задал стандартный значок imageres.dll,22 (сначала имя файла, а через запятую – номер ресурса). Впрочем, можно было указать просто control.exe.
- Position (необязательно) отвечает за расположение пункта в контекстном меню. Вы можете задать ему значение Top (вверху) или Bottom (внизу). Если значение не задавать, пункт меню окажется в его середине. Я расположил свой пункт вверху.
- Extended (необязательно) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.
- В разделе Item1 создайте подраздел command.
- В подразделе command дважды щелкните параметр (По умолчанию) и введите команду или полный путь к программе. Для вызова панели управления я указал control.exe (полный путь не нужен, поскольку исполняемый файл находится в системной папке).
Если вы хотите создать два пункта, создайте раздел Item2 и повторите шаги 3 – 5. Таких пунктов можно сделать сколько угодно.
Давайте посмотрим, что получилось в реестре.
Кстати, уже можно посмотреть – в контекстном меню появился пункт «Панель управления», и он работает!
Windows Registry Editor Version 5.00
;Меню компьютера
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Item1]
"MUIVerb"="Панель управления"
"Icon"="imageres.dll,22"
"Position"="Top"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Item1\command]
@="control.exe"
;Меню рабочего стола
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Item1]
"MUIVerb"="Панель управления"
"Icon"="imageres.dll,22"
"Position"="Top"
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Item1\command]
@="control.exe"
Этот способ можно использовать не только для выполнения команд и запуска программ, но и для открытия сайтов в любимом браузере. На шаге 4 укажите путь к исполняемому файлу браузера и URL.
Чтобы открыть свой блог в Internet Explorer, я бы добавил команду
iexplore www.outsidethebox.ms
Чтобы открыть свой блог в Opera, я бы добавил команду
C:\Program Files\Opera\opera.exe www.outsidethebox.ms
Выглядит это примерно так:
Заодно вы узнали, как задавать параметры командной строки исполняемым файлам. В данном случае таким параметром является URL.
Вдоволь наигравшись с пунктами меню, вы заметите, что оно сильно разрослось. Можно сделать его более компактным, добавляя раскрывающиеся меню, которые будут содержать свои пункты.
Этому вопросу посвящен отдельный рассказ.
Александр
Тема интересная, но нельзя ли прикладывать файл реестра, чтоб не заниматься: «нажмите, дважды щелкните, перейдите»?
Иначе это больше похоже на статью kb, интересную, но не удобную.
Vadim Sterkin
Александр, понимаете, добавить ведь можно все что угодно. Я же не знаю, какие именно пункты вам нужны в меню. И потом, проделав это в реестре, вы лучше поймете, как это работает. Просто импортировав файл вы ничему не научитесь, а превращать блог в коллекцию твиков я изначально не планировал.
Хорошо, я добавил в статью файл с примером для панели управления.
В статье о раскрывающихся меню REG-файлы будут обязательно, и даже больше :)
Александр
Спасибо за материал! Подскажите, пожалуйста, как управлять расположением созданного пункта в меню (как поставить его вверх или в самый низ, скажем), и самое главное — есть ли способ вставить разделитель (горизонтальную черту)? :)
Заранее благодарю!
Vadim Sterkin
Александр, рассказ об упорядочивании собственных пунктов меню включен в следующую статью, где рассказывается о создании раскрывающихся меню. Так что придется подождать 10 дней :)
Александр
Vadim Sterkin, ничего страшного, подождем. я уже подписался на ваш блог. Еще раз спасибо :)
Chacker
Спасибо за материал!
Скажите, а как через реестр добавить произвольный пункт в меню корзины?
Понимаю, что вероятно аналогично, только не знаю где эти пункты для корзины лежат…
Vadim Sterkin
Chacker, спасибо за отзыв :) Думаю, вам нужно сюда
Chacker
Спасибо, разобрался!
filosov
Эта тема мне тоже понравилась!!!!!
Спасибо за инфу!!!
Тут как добавить а у меня вопрос как удалить вот эти пункты:
http://radikal.ru/F/s52.radikal.ru/i137/1102/08/b68f47d7f367.jpg.html
в XP это я делал через програмку TweakUI. а вот в 7-е она не работает.
Vadim Sterkin
filosov, давайте с вами договоримся. На конкретные вопросы по статье я рад отвечать, если в ней самой нет ответа.
Но для всего остального есть форум. Учитесь пользоваться фильтрами и не надо будет тратить время на вопросы, потому что ответы уже там есть http://cut.ms/9GA
filosov
ОК! ))
Просто мне у вас больше нравится! ;-)
Очень благодарю за наводку!!! ;-)
Vadim Sterkin
filosov, я очень рад, что вам у меня нравится :) И если бы я мог, то оказывал бы каждому индивидуальную поддержку и внимание. Но я не могу — у меня всего одна голова и лишь две руки, и именно поэтому существует форум :)
alpap
А как добавить разделитель в контекстное меню файлов и папок
DeMoN23
Здраствуй Вадим,вот тут выше был вопрос о том нет-ли у тебя уже готового рег-файла (для выпадающего меню) ,чтоб только оставалось имя ветки переназначит в свое и вставить,а-то так долго в реестре ковырятся,тем-более я там полный ноль
(на нашем форуме осзоне пытался задать вопрос, мою тему закрыли)
Vadim Sterkin
DeMoN23, если речь идет о раскрывающихся меню, то об этом был рассказ в другой статье. Там есть готовые файлы и даже установщик.
Что же касается
то я пишу для людей, желающих расширить свой кругозор и повысить знания Windows, а не для ленивых полных нолей :)
DeMoN23
Хорошо спасибо за ваш ответ, буду юзать разбиратся сам ,далее:)
Анатолий
Контекстное меню рабочего стола. В реестре нет такого раздела
HKEY_CLASSES_ROOT\DesktopBackground\Shell. У меня это
HKEY_CLASSES_ROOT\Director\Background\Shell, Windows Vista.
Значки не отображаються не в контекстном меню компьютера и рабочего стола. Подскажите, пожалуста.
Vadim Sterkin
Анатолий, материал полностью применим только к Windows 7, что указано под заголовком.
Андрей
Подскажите пожалуйста как сделать следующие:
Мне нужно, в контекстное меню рабочего стола добавить пункт, с помощью которого у меня будет открываться окно смены обоев (изменение фона рабочего стола), но я не знаю как выглядит ссылка на это меню и где ее взять =( Хелп =(
Vadim Sterkin
Андрей, в Windows 7 уже есть такой пункт — Следующее фоновое изображение рабочего стола. Просто нужно в персонализации указать папку или библиотеку, в которой лежат ваши обои.
Андрей
Vadim Sterkin,
Так как у меня версия Home Basic, я не имею пункта «Персонализация» =(
Vadim Sterkin
Вы думате, я телепат? Добавьте команду:
kliaksa
Большое спасибо!!! Всё получилось!!!
kliaksa
Я прошу прощения, не по теме, но может быть вы подскажите как перенести ProgramData на другой диск? Program Files я уже перенёс, а вот с ProgramData полная засада!!!
Vadim Sterkin
kliaksa, не экономьте на размере системного раздела, и не нужно будет переносить не только ProgramData, но и Program Files. Такой будет мой ответ :)
Владимир
Все очень классно, много почерпнул.
Вопрос:
Как добавить в контекстное меню рабочего стола папку
Изображения
Или не понимаю, или
Спасибо
Vadim Sterkin
Владимир, используйте команду
Владимир
Получилось, спасибо, но открывается почему-то
Мои документы
Vadim Sterkin
Владимир, у меня открывается все как нужно. См. параметры командной строки explorer.exe, тестируйте в диалоге Win+R и при необходимости обращайтесь в форум.
Владимир
WIN+К открывает правильно, а из под к. меню не хочет
Vadim Sterkin
В связи с вашим наездом, оставляю вас наедине с проблемой :)
Владимир
Да ну не было от меня ничего обидного. Просто написал как есть.Если чо, прошу прощения. А не получилось, ну и фиг с ним.
Александр
Подскажите пожалуйста какую команду задать в command для Диспетчера устройств
Vadim Sterkin
devmgmt.msc
Венерыччч
Vadim Sterkin,
Здравствуйте Вадим.. Подскажите пожалуйста, какой путь прописать в подпапке «command» для того, чтобы можно было вызвать меню мыши(точнее: интересует изменение курсоров)? в контекст.меню рабочего стола создал строку «Курсоры», всё сделал как положено, но незнаю какой путь вписать, чтобы вызвать команду «Изменение указателей мыши»
Vadim Sterkin
Венерыччч
Vadim Sterkin,
Вот Спасибо! я уж думал не дождусь))
*Интересно: а как Вы узнаёте нужный путь?
Vadim Sterkin
Пожалуйста.
Очень странное заявление с учетом того, что ответ поступил через 12 минут после вопроса в 1:30 ночи по Москве.
В гугле.
Александр
Я смотрю путь в Process Explorer.
Михаил
Здравствуйте Вадим. Подскажите пожалуйста, можно ли в контекстном меню к пунктам (вырезать, копировать, удалить) добавить иконки?
Vadim Sterkin
Михаил, я не знаю, и сомневаюсь, что это достигается правкой реестра.
Венерыччч
Vadim Sterkin,
Здравствуйте Вадим. Не подскажите как добавить пункты: «стереть диск» и «форматировать» в контекстном меню CD-привода (при вставленном компакт-диске в привод)?.. у меня нет таких пунктов.
Vadim Sterkin
Диск должен быть перезаписываемый. Если это так, и опции отсутствуют, вам надо обратиться в форум Windows 7.
Иван
а нельзя автоматизировать процесс программой ?
для юзеров) думаю прога уйдет на расхват
Vadim Sterkin
Иван, я не программист, но не исключаю, что вас устроит это. А так, программы есть, поищите.
Иван
Vadim Sterkin,
спасибо )
немного под учу C и C# и посмотрю можно ли сделать программу
для простого и быстрого изменения контекстного меню
если сделаю отправлю вам)
Дмитрий
Может подскажите, как встроить в контекстное меню — искать выделенное слово в Яндексе?
Vadim Sterkin
Дмитрий, какое может быть выделенное слово, если вы щелкаете по рабочему столу или значку Компьютер?
Дмитрий
Vadim Sterkin,
Вот что мне нужно. Читаю текст в текстовом редакторе или в почтовой программе, или в любом другом окне. Мне интересно какое-либо слово в этом тексте. Я его выделяю и на выделенном тапаю правой кнопкой мыши. Появляется контекстное меню со стандартными — копировать/вставить. Хочется, чтобы в этом меню присутствовал пункт — искать выделенное слово в Яндекс. Возможно ли это?
Vadim Sterkin
Дмитрий, каждая программа имеет свое контекстное меню. На глобальном уровне вы этого в реестре в любом случае не реализуете.
Дмитрий
Vadim Sterkin,
Спасибо. Я понимаю, что у каждой программы меню свое. Ну а вдруг…)