Что такое контекстное меню Windows и способы его вызова

Как убрать пункты в контекстном меню

Удалить ненужные пункты можно с помощью настроек самой программы, которую надо убрать. Рассмотрим на примере архиватора WinRar:

  1. В открытом окне приложения перейти на вкладку Параметры – Интеграция;
  2. Убрать галочку с «Вложенные контекстные меню».

Есть и другой путь:

  1. В окне реестра перейти в раздел */shellexe/ContextMenuHandlers;
  2. В списке найти нужный пункт и кликнуть на нем ПКМ;
  3. Выбрать «Удалить» и «Да»;
  4. Выйти и перезагрузить систему.

В разделе HKEY_CLASSES_ROOT в каждой отдельной ветке хранятся действий для разных объектов системы, которые позволяют вносить правки в меню появляющееся при кликах на этих типах файлов:

Файлы:

shellexe/ContextMenuHandlers

AllFileSystemObjects\ShellEx\ContextMenuHandlers

Папки:

Directory\shellex\ContextMenuHandlers

Folder\shell или shellex\ContextMenuHandlers

Запоминающие устройства:

Drive\shell или shellex\ContextMenuHandlers

«Открыть с помощью…«:

\*\OpenWithList

«Мой компьютер«:

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

Рабочий стол:

DesktopBackground\Shell или shellex\ContextMenuHandlers

«Корзина«:

CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell

Есть еще один вариант редактирования – это использование специальных приложений.

ShellExView

  1. Отсортировать по типу (кликнуть на имя столбца);
  2. Вначале будут идти приложения, которые включены в меню;
  3. Вызвать на приложении выпадающий список и выбрать «Disable» для удаления пункта и «Enable» для добавления.

Программа крайне проста в управлении и работать с ней не составит труда.

Ultimate Windows Context Menu Customizer

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

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

FileMenu Tools

Чтобы добавить элемент:

  1. Выбрать «Add Command»;
  2. Добавить название опции в «Menu Text»;
  3. В «Extensions» указать расширение файла;
  4. Выставить параметры для папок и файлов в графе Properties и путь к файлу;
  5. Кликнуть на зеленый кружок верху.

Выполнять прочую редакцию можно с помощью графы Actions, где прописаны все доступные действия.

CCleaner

Чтобы редактировать меню надо:

  1. Запустить программу в полноэкранном режиме;
  2. Открыть Сервис – Автозагрузка — Контекстное меню;
  3. Выбрать приложение из списка и управлять им с помощью расположенных слева кнопок «Выключить», «Включить» и «Удалить».

Управлять можно с помощью клавиш или изображенных стрелок.

Glary Utilities

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

Для настройки меню:

  1. Вкладка Модули – Менеджер контекстного меню;
  2. Выставляя и убирая галочки, пользователь редактирует список приложений, убирая ненужные или зависающие.

Приятный и простой интерфейс на русском языке способствует быстрому ознакомлению и простой работе с утилитой.

Канонические команды

Приложения обычно отвечают за предоставление локализованных отображаемых строк для глаголов, которые они определяют. Однако для обеспечения степени независимости от языка система определяет стандартный набор часто используемых глаголов, называемых каноническими глаголами. Каноническая команда никогда не отображается для пользователя и может использоваться с любым языком пользовательского интерфейса. Система использует каноническое имя для автоматического создания правильно локализованной отображаемой строки. Например, отображаемая строка команды открытия задается как открытая в системе на английском языке и как эквивалент немецкого в системе на немецком языке.

Каноническая командаОписание
ОткрытьОткрывает файл или папку.
опенневОткрывает файл или папку в новом окне.
ПечатьВыводит файл.
принттоРазрешает пользователю печатать файл, перетаскивая его на объект принтера.
Анализоткрывает Windows Explorer с выбранной папкой.
СвойстваОткрывает страницу свойств объекта.

Примечание

Команда принтто также является канонической, но никогда не отображается. Его включение позволяет пользователю распечатать файл, перетащив его в объект принтера.

Обработчики контекстного меню могут предоставлять собственные канонические команды через IContextMenu:: жеткоммандстринг с GC _ вербв или GC _ verb. Система будет использовать канонические команды в качестве второго параметра (лпоператион), переданного в ShellExecute, и является кминвокекоммандинфо. член лпверб , переданный в метод IContextMenu:: инвокекомманд .

Меню «Открыть с помощью…»

В контекстном меню всегда есть вариант «Открыть с помощью…», позволяющий выбрать программу, с помощью которой будет открыт данный файл.

Список формирует сама система, но его можно изменить с помощью реестра Windows:

  1. Вызвать строку «Выполнить» и прописать там команду «regedit»;
  2. В открывшемся окне перейти HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExts/Расширение/OpenWithList;
  3. В столбце Значение вызвать выпадающий список на нужной программе и выбрать «Удалить».
  • Откроется окно с перечнем программ;
  • Надо выбрать программу и кликнуть на красную точку сверху для ее удаления из перечня.

С помощью реестра также можно и добавить пункты в список:

  • Открыв его в ветке HKEY_CLASSES_ROOT\Applications, создать подраздел (его имя – имя исполняемого файла);
  • В созданном подразделе добавить shell/open/command;
  • Кликнуть 2 раза «По умолчанию» и в графе Значение прописать полный путь;
  • Перейти в ветку OpenWithList и создать именной параметр (имя должно включать 1 латинскую букву);
  • Кликнуть 2 раза по созданному параметру и указать такое же значение, как и имя исполняющего файла (п.1);
  • Выбрать параметр MRUList и кликнуть по нему 2 раза;
  • Указать в очереди букву имени созданного параметра.

Если же варианта «Открыть с…» вообще нет, то:

  1. В ветке HKEY_CLASSES_ROOT/*shellex/ContextMenuHandlers создать «Open With»;
  2. Внутри него кликнуть 2 раза «По умолчанию» и прописать {09799AFB-AD67-11d1-ABCD-00C04FC30936} в графе Значение.

После всего просто закрыть окно реестра и приступить к работе.

Создание раскрывающегося меню с несколькими уровнями вложенности

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

Как видите, в меню есть пункт «Диск», который в свою очередь раскрывает меню с утилитами для обслуживания диска. Он отделен от остальных пунктов разделителем, хотя это не очень хорошо видно на рисунке, поскольку пункт выделен. Дальше я расскажу, как создать такое меню на основе уже изложенного выше материала.

  1. В разделе реестра
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell

    создайте ярлыки для двух новых пунктов (Дефрагментация диска и Очистка диска), следуя инструкциям в разделе статьи «Регистрация команд в реестре». Я назвал подразделы defrag и cleanmgr.

  2. В том же разделе реестра создайте подраздел disk-menu (название может быть любым). Дальше все будет очень похоже на то, что вы проходили в первом разделе статьи.
  3. В подразделе disk-menu создайте строковые параметры:
    • MUIVerb для названия меню, например, со значением Диск
    • Icon для значка меню, например со значением imageres.dll,31
    • SubCommands для ярлыков этого меню (в данном случае со значением defrag;cleanmgr)
  4. Если вы хотите использовать разделитель, создайте параметр REG_DWORD с именем CommandFlags и шестнадцатеричным значением:
    • 20 для размещения разделителя над пунктом меню
    • 40 для размещения разделителя под пунктом меню

Я задал значение 40, поскольку планирую сделать меню первым пунктом и отделить его от остальных.

В реестре должна получиться такая картина:

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

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

параметр SubCommands должен принять следующий вид:

disk-menu;regedit;taskmgr;devmgmt

Таким образом, раскрывающееся меню будет содержать вложенное меню disk-menu (Диск) первым пунктом, а также три отдельных пункта: Редактор реестра, Диспетчер задач и Диспетчер устройств.

Если вы запутались или у вас что-то не получается, удалите созданные разделы и параметры, а затем импортируйте приведенный ниже REG-файл.

Windows Registry Editor Version 5.00


"MUIVerb"="Система"
"SubCommands"="disk-menu;regedit;taskmgr;devmgr"
"Icon"="imageres.dll,104"
"Position"="Bottom"


@="Редактор реестра"
"Icon"="regedit.exe"


@="regedit.exe"


@="Диспетчер задач"
"Icon"="taskmgr.exe"


@="taskmgr.exe"


@="Диспетчер устройств"
"Icon"="devmgr.dll,4"


@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,\

63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,\

00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,\

74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,65,00,76,00,6d,00,67,00,6d,00,74,\
  00,2e,00,6d,00,73,00,63,00,00,00


@="Очистка диска"
"Icon"="cleanmgr.exe"


@="cleanmgr.exe"


@="Дефрагментация диска"
"Icon"="dfrgui.exe"


@="dfrgui.exe"


"MUIVerb"="Диск"
"Icon"="imageres.dll,31"
"CommandFlags"=dword:00000040
"SubCommands"="defrag;cleanmgr"

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

Опишите работу с контекстным меню windows 7

Для того чтобы компьютер понимал пользователя, а пользователь мог объяснить компьютеру что он от него хочет, существуют такие элементы, как меню (их несколько видов) и графический интерфейс. Эту публикацию мы посвятим одной из относящихся к этой теме категорий — как вызвать контекстное меню в Windows и что это такое.

Меню является элементом графического интерфейса Windows

Когда люди разговаривают друг с другом — они не задумываются о том, что язык общения является одним из видов интерфейса. В принципе, и пользователь, отдавая команды из набора доступного списка, получая запросы от ОС, открывая окна, пользуясь полосами прокрутки, использует графический интерфейс, не задумываясь о том, что это такое.

Понятие интерфейса достаточно широко. Если же говорить о Контекстном Меню (Context Menu, англ.), как о составляющей графического интерфейса, то представлять себе его следует, как элемент диалога с операционной системой (компьютером).

Добавляем Shift

Если, вызывая Context Menu правой мышкой, добавить к этому нажатие кнопки «Shift», то увидим увеличившийся от одной до нескольких строк список (справа). Это иногда придаёт дополнительное удобство:

Настраиваем

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

Кроме того, кому-то захочется подстроить перечень команд правой кнопки под свои вкусы и установленные программы. Такую реформацию проводят либо вручную, работая с Реестром, либо с помощью сторонних приложений. Этой теме будет посвящена отдельная наша публикация.

Из этой же публикации вы теперь знаете, как вызвать контекстное меню, что это такое, познакомились с видами, наполнением, узнали местонахождение.

Читайте далее — как можно с ним работать (модифицировать). Оставляйте свои комментарии, делитесь с друзьями полученной информацией.

Источник

Добавление и удаление пунктов из контекстного меню

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

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

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

Меню «Открыть с помощью…»

В контекстном меню всегда есть вариант «Открыть с помощью…», позволяющий выбрать программу, с помощью которой будет открыт данный файл.

Список формирует сама система, но его можно изменить с помощью реестра Windows:

3.Меню. Назначение. Виды меню. Контекстное меню

Секреты Продуктивной работы на Компьютере

Контекстное меню в Windows

Меню — важнейший элемент графического пользовательского интерфейса, с помощью которого можно выбрать необходимую опцию программы.

Виды меню в компьютере:

по исполнению – текстовое и графическое

по функциям – главное меню приложения, всплывающее, контекстное и системное меню

Что такое контекстное меню как его вызвать

Контекстное меню – это отдельный вид меню в компьютере; перечень доступных команд для работы с данным файлом.

Где находится контекстное меню?

Местом его хранения является реестр Windows, который состоит из двух разделов. Одна часть программ хранится в разделе HKEY_CLASSES_ROOT*shell, другая – в разделе HKEY_CLASSES_ROOT*shellexContextMenuHandlers.

Как открывается контекстное меню?

Существуют разные способы того, как вызвать контекстное меню

В нижней части клавиатуры, между клавишей “ALT” и клавишей “CTRL” имеется специальная кнопка. Она показывает добавочные функции и действия, доступные в отношении данного файла. На ней обычно нарисована табличка и указатель мыши. Эта кнопка и вызывает контекстное меню.

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

Правая кнопка мыши на клавиатуре также с успехом заменяется этой кнопкой.

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

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

Как открыть контекстное меню при работе на ноутбуке или нетбуке? На этих устройствах функция мыши передана встроенному тачпэду. Контекстное меню вызывается нажатием на выделенную область правой кнопкой.

Метки

  • Используйте выделение прописных букв, как в предложении.

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

Имена категорий меню

  • Используйте имена категорий меню, которые являются глаголами или существительными в одном слове. Метка из нескольких слов может состоять только из 2 1-слов.
  • Предпочитать имена меню на основе команд. Однако при создании, отображении, просмотре или управлении команда пропускается. Например, следующие категории меню не имеют команд:

    • Таблица
    • Инструменты
    • Окно
  • Для нестандартных имен категорий используйте одно конкретное слово, которое четко и точно описывает содержимое меню. Хотя имена не обязательно должны быть настолько общими, что они описывают все в меню, они должны быть достаточно предсказуемыми, чтобы пользователи не удивлены тем, что они находят в меню.

Имена пунктов меню

  • Используйте имена пунктов меню, которые начинаются с глагола, существительного или фразы существительное.
  • Предпочитать имена меню на основе команд. Однако не следует опускать команду, если:

    • Команда предназначена для создания, отображения, просмотра или управления. Например, следующие команды не имеют команд:

      • Сведения
      • Продвинутый уровень
      • Во весь экран
      • Создать
      • Параметры
      • Элемент Property
    • Команда аналогична имени категории меню во избежание повторения. Например, в категории меню «Вставка» используйте текст, таблицу и рисунок вместо вставки текста, вставки таблицы и вставки рисунка.
  • Используйте определенные команды. Избегайте универсальных, неизменяемых глаголов, таких как изменение и управление.
  • Используйте существительные в единственных словах для команд, которые применяются к одному объекту, в противном случае используйте существительные во множественном числе.
  • При необходимости используйте модификаторы для различения похожих команд. Примеры: вставить строку выше, вставить строку ниже.
  • Для пар дополняющих команд выберите явно дополняющие имена. Примеры: Add, Remove; Показать, скрыть; Вставка, удаление.
  • Выберите имена пунктов меню на основе целей и задач пользователя, а не для технологии.

Правильно:

Неправильно:

В неправильном примере пункт меню основан на его технологии.

  • Используйте следующие имена пунктов меню для указанной цели:
    • Параметры Для вывода параметров программы.
    • Настройка Для вывода параметров программы, специально связанных с механической конфигурацией пользовательского интерфейса.
    • Персонализация Для просмотра сводных данных о часто используемых параметрах персонализации .
    • Параметры Не используйте. Вместо этого используйте параметры.
    • Свойства Для вывода окна свойств объекта.
    • Параметры Не используйте в качестве метки меню. Вместо этого используйте параметры.

Имена подменю

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

Неправильно:

В этом примере новый элемент меню имеет неправильное многоточие.

Регистрация обработчика контекстного меню с динамической командой

Обработчики контекстного меню связаны либо с типом файла, либо с папкой. Для типов файлов обработчик регистрируется в следующем подразделе.

Чтобы связать обработчик контекстного меню с типом файла или папкой, сначала создайте подраздел в подразделе контекстменухандлерс . Назовите подраздел для обработчика и задайте в качестве значения по умолчанию для подраздела строковое значение GUID идентификатора класса обработчика (CLSID).

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

Дополнительные сведения о типах папок, для которых можно зарегистрировать обработчики, см. в разделе Регистрация обработчиков расширений оболочки.

Если с типом файла связано контекстное меню, то при двойном щелчке объекта обычно запускается команда по умолчанию, а метод IContextMenu:: куериконтекстмену обработчика не вызывается. Чтобы указать, что метод IContextMenu:: куериконтекстмену обработчика должен вызываться при двойном щелчке объекта, создайте подраздел в подразделе CLSID обработчика, как показано ниже.

При двойном щелчке объекта, связанного с обработчиком, вызывается IContextMenu:: куериконтекстмену с флагом КМФ _ дефаултонли , установленным в параметре уфлагс .

Обработчики контекстного меню должны задавать подраздел майчанжедефаултмену только в том случае, если им может потребоваться изменить команду по умолчанию в контекстном меню. Установка этого подраздела заставляет систему загружать DLL-библиотеку обработчика при двойном щелчке связанного элемента. Если обработчик не изменяет команду по умолчанию, этот подраздел задавать не следует, так как это приводит к тому, что система загружает библиотеку DLL без необходимости.

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

Что должно содержаться в контекстном меню?

Контекстное меню должно содержать команды, которые относятся к выделенному элементу . Это означает что оно может содержать команды из строки меню или панели инструментов, которые можно применить к выделенному элементу.

Контекстное меню не должно содержать ВСЕ доступные для объекта команды

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

Сфокусируйтесь на важном, уменьшайте бардак

Вот, к примеру, три контекстных меню для выделенного фрагмента текста: в Dreamweaver, Microsoft Word и Apple Pages. Меню Dreamweaver пытается быть похожим на швейцарский складной ножик и предлагает все возможные команды в одном контекстном меню. Из-за этого оно получается настолько большим, с кучей вложенных списков, что им становится трудно пользоваться. Лично я избегаю вызывать контекстное меню в Dreamweaver.

В нем наиболее часто используемые функции (например «Копировать» или «Вставить») располагаются ближе к концу списка. В Word и Pages наоборот, часто используемые команды выносятся наверх списка, а команды, содержащие вложенные списки — в конец. Они также отобрали для меню только самые важные функции, и лучше организовали их.

Если вы хотите сделать свое контекстное меню удобнее, оставьте в нем только 60% самых важных команд вместо всех 100%

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

Контекстные меню в Dreamweaver, Microsoft Word и Apple Pages

Контекстное меню не должно содержать команды, не относящиеся к выделенному объекту

(такие, например, как «Обновить страницу»). Концентрируйтесь на тех командах, которые были бы полезны для работы с тем объектом, на который наводит пользователь.

Когда возможно, группируйте команды в блоки от 1 до 6 штук в каждом

. Отделяйте блоки линиями. Наиболее часто используемые команды следует выносить наверх списка, наименее часто используемые — убирать вниз. Если команда используется особенно редко, то, возможно ей не место в контекстном меню.

Не стесняйтесь использовать вложенные списки

, однако команды со вложенными списками следует уносить вниз контекстного меню. Мне не нравятся вложенные списки, потому что из-за них пользователь может совершить ошибку, и кроме того на их открытие тратится много времени — в то время как смысл контекстных меню сводится к экономии времени.

Помимо этого вы можете использовать нестандартные элементы меню

. Например, вместе с контекстным меню в Microsoft Word 2007 открывается плавающая палитра, а в контекстном меню файла в Mac OS есть специальные цветные кнопки выбора цвета ярлыка. Только потому что мы говорим «меню», не значит что оно должно быть ограничено только текстом.

Контекстное меню может быть больше чем просто список команд

В контекстном меню не могут содержаться уникальные команды, свойственные только для него

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

Обычно я помещаю «команду по умолчанию» первой в контекстном меню. Это та команда, которая совершится при двойном клике на объекте (например, команда Open в контекстном меню файла). Если у объекта нет команды по умолчанию, концентрируйтесь на самых используемых командах.

Вы можете использовать название объекта в контекстном меню для того, чтобы сделать команды понятнее

. Например, вместо названия команды «Открыть» вы можете использовать словосочетание «Открыть Скриншот.png». При использовании этого приема бывает сложно найти золотую середину — нужно сделать меню достаточно самоочевидным, но не слишком многословным. Меню в Mac OS содержит название объекта в одних командах, и не содержит в других.

В своих контекстных меню я не использую иконки. Честно говоря, я вообще не использую их в своих приложениях — по моему мнению они засоряют интерфейс и не несут особой пользы (примечание переводчиков — о_О

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

Поделитесь в социальных сетях:FacebookTwitterВКонтакте
Напишите комментарий