Контекстное меню
В статье ниже мы рассмотрим основные принципы редактирования контекстного меню прямой правкой реестра и при помощи специальных программ.
Настройка меню правого клика
Пользоваться контекстным меню Windows в ряде случаев, несомненно, весьма удобно. Однако, иногда случаются моменты, когда наличествующих команд не хватает или, наоборот, имеются лишние пункты. В виду этого, любому пользователю нелишним будет знать как настроить контекстное меню под личные нужды.
Есть пользователи, которые привыкли к старому-доброму текстовому интерфейсу и управляют компьютером исключительно при помощи клавиатуры. Есть, наоборот, те, кто жить не может без мышки и использует клавиши только для набора текста. Однако, средний, более или менее продвинутый пользователь обычно совмещает в своей повседневной работе и клики мышки, и «горячие» клавиши.
Несомненно, клавиатурные комбинации – вещь удобная, однако, и у мышки есть свои плюсы. Об одном из таких плюсов, а конкретно – контекстном меню, и пойдёт речь в нашей сегодняшней статье.
Структура контекстного меню
Контекстное меню, в зависимости от того, для какого елемента Вы его вызываете, будет иметь различные наборы команд. Фактически такие наборы не имеют чёткой стандартизации, но можно условно разделить их на группы с характерными общими чертами:
- меню рабочего стола (будет иметь команды для управления настройками внешнего вида рабочего стола и создания новых файлов);
- меню папки (аналогично предыдущему, будет содержать настройки папки и функции создания файлов);
- меню файла (наиболее обширное меню с общими командами, вроде, копирования/перемещения/удаления и применимыми к конкретному типу данных);
- меню текстовых элементов (стандартные функции копирования/вставки и специфические, которые зависят от программы, в которой открыт текст);
- меню прикладных программ (содержит команды, которые обычно находятся в системных меню программы).
В плане настройки и изменения мы будем рассматривать далее контекстные меню папок (в частности, рабочего стола) и файлов. Меню выделенных текстовых фрагментов и программ обычному пользователю без вмешательства в код отдельных приложений, как правило, изменить не получится. Но и возможность подогнать стандартные системные менюшки под свои нужды – это уже весьма немало!
В данной статье мы разберёмся как раз с тем, как работать с группой пользовательских действий, удалять ненужные пункты контекстного меню и добавлять необходимые.
Контекстное меню в реестре
Команды контекстного меню здесь отображаются в разделах «shell» и «shellex\ContextMenuHandlers». Практически все они добавлены сторонними программами и состоят только из идентификатора процесса, указывающего на исполняющую его библиотеку той или иной программы.
Кроме того, из теории не помешало бы знать о том, какие основные дополнительные параметры (кроме строкового «По умолчанию») используются для большей кастомизации пользовательских пунктов контекстного меню:
Думаю, теории достаточно. Поэтому перейдём к практике.
Добавление и удаление пунктов меню
Ломать, как говорится, не строить Поэтому в качестве первого практического примера рассмотрим удаление ненужного нам пункта контекстного меню. У меня в меню папок откуда-то взялась команда «cmd», которая при попытке выполнить её выдаёт ошибку (видимо, результат каких-то моих предыдущих экспериментов :)).
Удалить, как видите, дело нехитрое Попробуем же что-нибудь создать. Например, в Windows 8 нет меню «Пуск» и довольно неудобно вызывать некоторые часто нужные служебные программы и оснастки. Поэтому предлагаю добавить в меню папки вместо бесполезной удалённой выше команды «cmd» функцию вызова, к примеру, Панели управления (запускается командой «control.exe»).
Новосозданный пункт уже появился в контекстном меню, но он пока не выполняет никаких действий. Для прикрепления к нему нужной функции в разделе «ContPanel» создадим подраздел «command» и изменим его значение «По умолчанию» на «control.exe» (без кавычек). Всё Только что мы создали собственный функциональный пункт контекстного меню:
Пример получился весьма примитивным, но, на мой взгляд, вполне наглядным. При желании Вы можете использовать более сложные команды с дополнительными параметрами, но общий принцип останется тем же.
Раскрывающиеся меню
Собственно, меню уже готово. Остаётся добавить в него несколько дополнительных пунктов со своими командами и можно пользоваться. Например, добавим сюда вызов Диспетчера задач (иконка и исполняемый файл – «taskmgr.exe») и тот же Редактор реестра («regedit.exe»). Получится примерно так:
Редакторы контекстного меню
Неплохими редакторами контекстных меню с возможностью удаления лишнего являются утилиты NirSoft ShellExView и ShellMenuView. Первая из них позволяет удалять команды для директорий и дисков, а вторая для файлов (в том числе и конкретных их типов):
Существуют и другие программы для редактирования контекстного меню, однако, далеко не все из них бесплатны и работают так, как нужно. Если Вы знаете достойные редакторы, о которых не было упоминаний в статье, обязательно напишите их названия (и, желательно, ссылки на официальный сайт) в комментариях.
Выводы
Надеюсь, наша статья позволит Вам понять принципы управления контекстным меню и Вы сможете сделать свою повседневную работу за компьютером ещё более продуктивной!
P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.
Контекстное меню
- меню рабочего стола (будет иметь команды для управления настройками внешнего вида рабочего стола и создания новых файлов);
- меню папки (аналогично предыдущему, будет содержать настройки папки и функции создания файлов);
- меню файла (наиболее обширное меню с общими командами, вроде, копирования/перемещения/удаления и применимыми к конкретному типу данных);
- меню текстовых элементов (стандартные функции копирования/вставки и специфические, которые зависят от программы, в которой открыт текст);
- меню прикладных программ (содержит команды, которые обычно находятся в системных меню программы).
Enabled (форма)Примечание: VBA.нажмите кнопкуЩелкните на листе место, последующих разделах. текст может содержатьВ раскрывающемся списке Чтобы отобразить правильное контекстноеЕсли Excel не в Мы стараемся как можно