Настраиваемое контекстное меню на элементе

Содержание:

Как настроить контекстное меню

Редактировать данный выпадающий список рекомендуется с использованием встроенных инструментов. Отчасти эта рекомендация объясняется тем, что внесение подобных изменений может негативно сказаться на работе Windows 10. Использование встроенных инструментов позволяет в случае возникновения сбоев откатить систему в предыдущее состояние.

Сторонние программы для редактирования списка не всегда эффективны. А некоторые подобные приложения содержат вирусы.

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

Убираем пункты из контекстного меню

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

Сделать это можно несколькими способами. Чтобы изменить список меню, нужно:

  • Запустить соответствующее приложение.
  • Перейти в раздел с настройками (установками и так далее — все зависит от особенностей программы).
  • Открыть вкладку, на которой будет приведен список с итерациями с оболочкой операционной системой.
  • Снять флажок напротив строчки типа «Вложенные контекстные меню».

Но этот вариант не подходит для некоторых приложений, в настройках которых отсутствует указанный путь. В подобных случаях нужно отредактировать реестр Windows.

Редактирование при помощи реестра

Редактор реестра применяется для внесения изменений в корневые процессы Window

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

Чтобы удалить пункт из контекстного меню через реестр, нужно сочетанием клавиш «Win» и «R» вызвать диалоговое окно, в котором нужно прописать «regedit». Затем в новом разделе нужно найти запись меню, которую необходимо удалить.

Сначала поиск следует вести с раздела HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\. После этого нужно перейти на директории:

  • HKEY_CLASSES_ROOT\AllFileSystemObjects\ShellEx\ContextMenuHandlers
  • HKEY_CLASSES_ROOT\*\shell
  • HKEY_CLASSES_ROOT\Directory\Background\shell
  • HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers
  • HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\
  • HKEY_CLASSES_ROOT\Directory\shell

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

Как убрать пункты с помощью специальных утилит

Для удаления пунктов применяются следующие бесплатные утилиты:

  • Easy Context Menu;
  • Filemenu Tools;
  • Right Click Enhancer.

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

  • Запустить программу и перейти в раздел «Редактор списка команд».
  • Открыть раздел «Чистка контекстного меню».

Выбрать пункт для удаления из появившегося списка.

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

Добавляем пункты в контекстное меню с помощью утилиты

Отредактировать меню можно путем добавления новых пунктов. Сделать это можно, задействовав приведенные выше утилиты. Для добавления нового элемента необходимо через раздел «Файл» запустить редактор списка команд. В утилите Easy Context Menu последний запускается сочетанием клавиш «Ctrl» и «E».

В новом разделе нужно нажать на «Добавить команду». В открывшемся окне необходимо найти файл с расширением .exe, который запускает приложение. В завершении следует сначала сохранить, а затем — применить внесенные изменения.

Обновление драйвера мыши

Причиной сбоя работы мыши могут быть и устаревшие драйверы. Для устранения проблемы:

  1. зайдите в Диспетчер устройств;
  2. выберите «Мыши и другие указывающие устройства»;
  3. посмотрите, не стоит ли рядом с обозначением мыши красный кружок или желтый треугольник. Их наличие означает проблему;
  4. левой кнопкой мыши дважды кликните по «Иные указывающие устройства» и выберите среди них мышь;
  5. В контекстном меню выберите пункт «Обновить драйвер».
  6. Windows автоматически подберет подходящий вариант.

Если операционная система проинформирует вас о том, что новый драйвер уже установлен, зайдите на сайт производителя мыши и скачайте с него самую последнюю версию драйвера, подходящую для мыши и совместимую с Windows 10.

Как добавить дополнительные пункты «Открыть с помощью…» в контекстное меню

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

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

  • Нажмите на Пуск и в строке поиска введите «regedit» или просто воспользуйтесь комбинацией «Win» и «R» и выполните эту команду.
  • В редакторе реестра воспользуйтесь иерархическим древом в левой части окна, чтобы найти путь «HKEY_CLASSES_ROOT*shell».
  • Далее, нажмите правым кликом на каталог «shell» и выберите Создать > Новый раздел, назовите его к примеру «Открыть при помощи Блокнота». Именно эту строку вы будете видеть в контекстном меню, она может быть произвольной, на ваше усмотрение.
  • Нажмите вновь правым кликом на только, что созданном каталоге и создайте новый раздел с именем «command», тут уже надо полностью соблюсти написание строки.
  • Выберите раздел «command», в правой части экрана нажмите двойным кликом на строку «(Default)».
  • Измените «Значение» на «notepad.exe %1», где notepad.exe — это исполняемый файл для стандартного блокнота Windows.

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

Блокнот был взят лишь для примера, вы можете создать по аналогии сколь угодно много дополнительных опций для различных программ, к примеру для открытия редактора фото или для проигрывания мультимедиа в различных проигрывателях. Для этого достаточно лишь создать дополнительный раздел в папке «shell» реестра, а далее следовать уже описанным инструкциям, заменив «notepad» на путь необходимой программы, к примеру — «D:UtilsMediafoobar200.exe %1».

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

  • Воспользуйтесь редактором реестра regedit, как было описано вышеописанные.
  • Перейдите в каталог «HKEY_CLASSES_ROOT*».
  • Теперь вместо папки «shell», откройте папку с похожим названием «shellx».
  • Перейдите в под-каталог «ContextMenuHandlers».
  • Если вы часто устанавливаете разные приложения, вы скорее всего увидите в этой папке множество директорий.
  • Найдите папку, которая соответствует пункту который вы хотите убрать, нажмите на неё правым кликом и выберите «Удалить».

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

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

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

  1. В зависимости от того, где вы хотите создать раскрывающееся меню, выберите раздел.
    • для меню «Компьютер» перейдите в раздел:
      HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
    • для меню рабочего стола перейдите в раздел:
      HKEY_CLASSES_ROOT\DesktopBackground\Shell
  2. Щелкните правой кнопкой мыши по разделу shell и выберите пункт Создать – Новый раздел. Имя для раздела можно выбрать любое, но оно обязательно должно быть латинское. Назовите его, например, Menu1. В этом разделе будут созданы следующие строковые параметры.
  3. Параметр MUIVerb (обязательно) отвечает за название раскрывающегося меню, поэтому значение можете выбирать любое. Я назвал свое Система.
  4. Параметр SubCommands (обязательно) содержит список указателей для команд, которые будут выполняться из меню. Названия указателей должны соответствовать названиям подразделов реестра, которые вы создали на шаге 2 в предыдущем разделе статьи. Разделяйте указатели точкой с запятой (;) и перечисляйте их в том порядке, в котором вы хотите видеть пункты в меню. Чтобы вам было проще понять, я приведу свой список:
regedit;taskmgr;devmgmt

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

Параметр Icon (необязательно) задает значок для раскрывающегося меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для своего меню «Система» я задал значок imageres.dll,104 (сначала начала имя файла, а через запятую – номер ресурса).
Параметр Position (необязательно) отвечает за расположение раскрывающегося меню в контекстном меню. Вы можете задать ему значение Top (вверху) или Bottom (внизу). Если значение не задавать, раскрывающееся меню окажется в середине контекстного меню. Я расположил свое меню внизу.
Параметр Extended (необязательно) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.

Если вы хотите создать два меню, создайте раздел Menu2 и повторите шаги 3 – 7. Таких меню можно сделать сколько угодно.

Давайте посмотрим, что получилось в реестре.

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

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

Windows Registry Editor Version 5.00


"MUIVerb"="Система"
"SubCommands"="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

Теперь вы можете увидеть, какая структура должна быть в реестре.

Available context menu sections

The following table shows all context menu sections, including sections provided by plugins. Any menu item can also be added to the context menu. To retrieve a list from the editor, run the following command from the browser console:

The identifier below will add a context menu section containing one or more items. It is not possible to add individual items from the following context menu sections.

identifier Core/Plugin Description
image Image Adds the Image… item for opening the Insert/Edit Image dialog.
imagetools Image Tools Adds the Edit image item for opening the Edit Image dialog.
link Link Adds the Link… item for opening the Insert/Edit Link dialog.
linkchecker Link Checker Adds the Ignore item on links marked as broken, allowing the user to instruct linkchecker to ignore the link.
lists Lists Adds the List properties… item for opening the List Properties dialog.
configurepermanentpen Permanent Pen Adds the Permanent pen properties… item for opening the Permanent Pen Properties dialog when the permanent pen is in use.
spellchecker Spell Checker Adds a list suggested corrections, an Ignore item, and an Ignore all item.
table Table Adds table related context menu items, including Advanced Tables context menu items (if the Advanced Tables plugin is enabled).

For a list of available menu items that can be added to the context menu, see: Menu Items Available for TinyMCE.

Это правильный пользовательский интерфейс?

Чтобы определиться, ответьте на вопросы:

Строки меню

Действуют следующие условия.

  • Является ли окно основным окном?
  • Много пунктов меню?
  • Много категорий меню?
  • Применяется ли большая часть пунктов меню ко всей программе и основному окну?
  • Нужно ли меню работать для всех пользователей?

Если это так, рассмотрите возможность использования строки меню.

Меню панелей инструментов

Действуют следующие условия.

  • Является ли окно основным окном?
  • Есть ли у окна Панель инструментов?
  • Есть ли несколько категорий меню?
  • Нужно ли меню работать для всех пользователей?

Если да, попробуйте использовать меню панели инструментов вместо строки меню или.

Меню вкладок

Действуют следующие условия.

  • Является ли окно основным окном?
  • Содержит ли окно вкладки, где каждая вкладка используется для выделенного набора задач (в отличие от использования вкладок для отображения различных представлений)?
  • Есть ли одна категория меню, применимая к каждой вкладке?
  • Есть ли много команд и параметров, но только небольшой набор для каждой вкладки?

Если да, попробуйте использовать меню вкладок вместо строки меню.

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

Действуют следующие условия.

  • Существует ли небольшой набор контекстных команд и параметров, которые применяются к выбранному объекту или области окна?
  • Являются ли эти пункты меню избыточными?
  • Являются ли целевыми пользователи, знакомые с контекстными меню?

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

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

Меню области задач

Действуют следующие условия.

  • Является ли окно основным окном?
  • Существует ли небольшой набор контекстных команд и параметров, которые применяются к выбранному объекту или режиму программы?
  • Есть несколько категорий меню?
  • Нужно ли меню работать для всех пользователей?

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

Простой способ удаления

Можно воспользоваться сторонними программами, но проще выполнить данное действие, используя возможность редактирования реестра:

Нажимаем «волшебное» сочетание Win + R на клавиатуре. В появившемся окне вводим команду «regedit»:

Чаще всего, изменения вступают в силу даже без перезапуска системы. Но если элемент не удалился, то попробуйте все-таки перезагрузить компьютер.

Не нашли определенную программу в перечне? Тогда попробуйте поискать его по более короткому пути в редакторе реестра:

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

Возможные ошибки

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

  • после нахождения необходимого объекта дважды кликнуть ЛКМ;
  • в конце названия элемента вписать знак «минус»;
  • когда в нем возникнет необходимость, достаточно удалить «-», что приведет к возвращению компонента в выпадающий список.

Ко второй распространенной ошибке относят ненужные изменения в системных параметрах, из-за которых ОС будет зависать. Для исключения необходимости полной переустановки Виндовс достаточно создать новую точку сохранения — перед проведением операций.

Указанный список не всегда появляется при нажатии ПКМ после вытирания через проводник папок или файлов. Для обнаружения нужных сведений достаточно обратиться к данным, хранящимся в блоке «Windows.old». Последний вариант возникает после первичного системного обновления, в нем следует разыскать удаленные файлы и отправить их по директориям, где они раньше находились. После окончания процесса компьютер обязательно перезагружается.

Все о IT
Самое интересное и полезное. информационно-коммуникационные технологии Ежедневно новое ПЕРЕЙТИ телеграмм канал ITUMNIK

Тонкости, которые нужно учитывать, при работе с UAC

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

Открытие файлов во вкладках программы

В отличие от блокнота, многие текстовые редакторы (например, Notepad++) открывают файлы во вкладках уже запущенного приложения. Описанный выше способ запуска редактора с полными правами сработает правильно только в том случае, если редактор еще не запущен. А когда он уже открыт, запрос UAC появится, но файл все равно откроется в виде вкладки в редакторе, который изначально был запущен с обычными правами.

В этом случае сохранить файл после правки не получится. Я не могу отвечать за все редакторы, но в Notepad++ происходит именно так, причем сообщение об ошибке не раскрывает суть проблемы.

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

Скорее всего, у редактора найдется параметр командной строки, позволяющий запустить новый экземпляр программы. У Notepad++ этим параметром является multiInst. В этом случае в реестре нужно прописать такую команду:

nircmd.exe elevate "C:\Program Files\Notepad++\notepad++.exe" -multiInst “%1”

Одновременное открытие нескольких файлов

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

Стандартным уровнем контроля учетных записей является отображение запроса на фоне затемненного экрана.

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

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

Я не нашел, как это обойти, кроме как снижением уровня UAC на один пункт ниже стандартного.

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

Я не припомню ситуации, когда мне приходилось одновременно открывать сразу несколько файлов в системной папке (в крайнем случае, их можно открыть по одному).

Восстановление старого контекстного меню Windows 11 через реестр

Не самый простой способ, но считающийся самым правильным – это включение классического контекстного меню в Windows 11 посредством редактирования системного реестра. Отметим также, что ручная правка реестра требует от исполнителя особой внимательности, поскольку любая ошибка или неточность может отразиться на работоспособности операционной системы.

Итак, предлагаем вашему вниманию пошаговый алгоритм:

  • запуск редактора реестра выполняется почти так же, как в предыдущих версиях Windows – кликаем комбинацию Win+R и вводим в панели «Выполнить» regedit (можно кликнуть ПКМ по кнопке «Пуск» и в появившемся меню выбрать пункт «Выполнить»). Подтверждаем запуск команды нажатием Enter;
  • осуществляем последовательный переход по веткам
  • в ветке CLSID должен присутствовать раздел {86ca1aa0-34aa-4e8b-a509-50c905bae2a2}. Если его там нет, необходимо его создать, кликнув ПКМ по пустому месту в разделе и выбрав пункт «Создать», а затем – «Раздел», введя в поле имени указанное выше значение;
  • внутри раздела требуется создать подраздел InprocServer32 (по уже знакомому вам алгоритму);
  • после этого он появится в левой панели, кликаем мышкой по нему;
  • в правой панели делаем быстрый двойной клик по имени «По умолчанию», и в открывшемся окне кликаем Ок, не изменяя никаких параметров;
  • закрываем редактор реестра.

Как правило, контекстное меню в старом классическом виде станет доступно сразу же. Если нет, потребуется перезагрузка компьютера, хотя может оказаться достаточным и перезапуск проводника Windows – это быстрее, хотя тоже придётся повозиться, поскольку сделать это можно через «Диспетчер задач» (ищем во вкладке «Процессы» строку «Проводник», делаем клик ПКМ и выбираем пункт «Перезапустить»).

Тем, кто не любит «шастать» по дебрям системного реестра, можно порекомендовать другой способ, заключающийся в создании текстового файла (например, в Блокноте) со следующим содержимым:

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

Останется только проверить, сработала ли правка реестра. Если нет, перезагрузите проводник и попробуйте снова.

Если в какой-то момент времени потребуется вернуть родной интерфейс контекстного меню Windows 11, нужно просто удалить раздел {86ca1aa0-34aa-4e8b-a509-50c905bae2a2}.

Варианты использования

Меню имеют несколько шаблонов использования:

Использование Пример
Строки меню в строке меню отображаются команды и параметры в раскрывающихся меню. строки меню очень распространены и просты в поиске, а также позволяют эффективно использовать пространство. строка меню из Windows Mail.
Меню панелей инструментов Строка меню, реализованная в виде панели инструментов. меню панели инструментов — это панели инструментов, которые состоят в основном из команд в кнопках меню и разворачивающихся кнопок, с помощью нескольких прямых команд, если таковые имеются. меню панели инструментов в Windows фотоальбом. Рекомендации по этому шаблону см. в разделе панели инструментов.
Меню вкладок кнопки на вкладках, в которых отображается небольшой набор команд и параметров, связанных с вкладкой в раскрывающемся меню. вкладки с меню выглядят как обычные вкладки, за исключением того, что в нижней части есть кнопка со стрелкой раскрывающегося списка. При нажатии кнопки выводится раскрывающееся меню, а не выбрана вкладка. меню вкладок используются в проигрыватель Windows Media.
Кнопки меню командные кнопки, отображающие небольшой набор связанных команд в раскрывающемся меню. кнопки меню выглядят как обычные командные кнопки, за исключением того, что в них есть стрелка раскрывающегося списка. При нажатии кнопки отображается раскрывающееся меню вместо выполнения команды.разворачивающиеся кнопки похожи на кнопки меню, за исключением того, что они являются вариантами команды, и щелчок левой части кнопки выполняет действие непосредственно с меткой. Кнопка меню с небольшим набором связанных команд.
Контекстные меню раскрывающиеся меню, в которых отображается небольшой набор команд и параметров, связанных с текущим контекстом. раскрывающийся список контекстных меню, если пользователи щелкнули правой кнопкой мыши объект или область окна, поддерживающую контекстное меню. контекстное меню из проводника Windows. Если контекстное меню является лучшим выбором меню, но для всех пользователей требуется решение, можно использовать кнопку со стрелкой раскрывающегося меню. Контекстное меню, отображаемое с помощью раскрывающейся кнопки меню.
Меню области задач небольшой набор команд, связанных с выбранным объектом или режимом программы. в отличие от контекстных меню, они отображаются автоматически в области окна, а не по запросу. меню области задач из Windows средства просмотра фотоальбома.

Практика: создание архива с полными правами из контекстного меню

Наверняка, у вас в контекстное меню интегрирован архиватор 7-Zip или WinRar. Недавно в форуме TechNet один участник сетовал на невозможность создания архива в корне диска или системной папке. Например, у него есть папка Logs, которую очень удобно архивировать из контекстного меню с помощью каскадного меню архиватора.

Из контекстного меню архиватор запускается с обычными правами, и на создание архива в системном расположении у него не хватает полномочий. В Windows 7 и Vista предусмотрена такая ситуация, и архив создается, хотя в корне диска файл не отображается. Впрочем, достаточно нажать в проводнике кнопку Файлы совместимости, .

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

Windows Registry Editor Version 5.00




"MUIVerb"="Архивировать с правами администратора"
"HasLUAShield"=""
"Icon"="\"C:\\Program Files\\7-Zip\\7zFM.exe\""
"Extended"=""


@="nircmd elevate \"C:\\Program Files\\7-Zip\\7z.exe\" a \"%1\".7z \"%1\""

При вызове контекстного меню папки с нажатой клавишей SHIFT это выглядит так:

Обратите внимание на два момента:

  1. Параметры добавляются в подраздел AllFilesystemObjects. Раньше мы имели дело с файлами, но нередко нужно добавить в архив папку. Этот подраздел отвечает за все объекты файловой системы, т.е. файлы и папки.
  2. Команда выглядит запутанной из-за двойных и экранирующих кавычки слэшей в REG-файле, но в реестре она смотрится понятнее:
    nircmd elevate "C:\Program Files\7-Zip\7z.exe" a "%1".7z "%1"

    Первый параметр %1 задает полный путь к расположению 7z архива, при этом его имя будет таким же, как у архивируемого объекта. Другими словами, архив создается на одном уровне с архивируемой папкой или файлом с таким же именем. Второй параметр %1 указывает на папку или файл, добавляемые в архив.

Ограничения этого способа

К сожалению, такой пункт меню работает неидеально. Если выделить несколько папок или файлов, каждый объект помещается в отдельный архив. Оболочка (проводник) последовательно передает архиватору в качестве имени архива первый параметр %1, т.е. полный путь к каждому файлу или папке.

Это можно обойти, указав вместо первого экземпляра %1 фиксированное имя архива (например, archive.7z).

nircmd elevate "C:\Program Files\7-Zip\7z.exe" a archive.7z "%1"

В этом случае архив будет последовательно обновлен при добавлении каждого файла.

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

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

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

Однако сделать это сложнее, чем кажется, и описанные выше методы тут не помогут. На следующей неделе я приглашаю вас на экскурсию по… театральному залу Windows, где процессы занимают места согласно купленным билетам. Она послужит прелюдией к рассказу о том, как запускать проводник с полными правами.

А как часто вы сохраняете файлы в корне системного диска или правите файлы в системных папках? Отвечая на вопрос, не забудьте указать, включен ли у вас UAC 🙂

Редакторы контекстного меню для Windows 10

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

  1. Ultimate Windows Customizer, Right-Click Extender, Ultimate Windows Tweaker и редактор контекстного меню
  2. ContextEdit
  3. ShellExtView или ShellMenuView
  4. Простое контекстное меню
  5. МенюГорничная
  6. Инструменты меню файлов.

1) Ultimate Windows Customizer, Right-Click Extender, Ultimate Windows Tweaker и редактор контекстного меню

Некоторые из наших следующих бесплатных программ, например Ultimate Windows Tweaker, помогут вам легко редактировать контекстное меню, вызываемое правой кнопкой мыши.

Ultimate Windows Customizer, Right-Click Extender, Ultimate Windows Tweaker и редактор контекстного меню являются бесплатными выпусками от TheWindowsClub, и вы можете проверить их. Они были разработаны для Windows 7, но могут работать и в Windows 10.

2) ContextEdit

ContextEdit позволит вам легко управлять элементами, которые появляются в вашем контекстном меню Проводника Windows.

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

3) ShellExtView или ShellMenuView

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

4) Простое контекстное меню

Бесплатное программное обеспечение Easy Context Menu позволит вам добавить программу или значок в контекстное меню.

5) MenuMaid

Если вы ищете быстрый и простой способ очистки контекстного меню Windows Explorer и Internet Explorer, вызываемого правой кнопкой мыши, попробуйте MenuMaid.

Просто загрузите портативное бесплатное приложение MenuMaid и снимите отметки с тех элементов, которые не хотите показывать. Он также позволяет отключать или удалять элементы из контекстного меню Internet Explorer. Если вы хотите восстановить их, проверьте их еще раз.

6) Инструменты меню файлов

Инструменты меню файлов (ссылка удалена) позволяют добавлять, удалять и настраивать элементы контекстного меню проводника Windows, но СЕЙЧАС поставляется в комплекте с множеством вредоносных программ, согласно комментариям ниже.

Это позволяет настроить следующие аспекты:

  • Добавьте несколько встроенных утилит для работы с файлами и папками.
  • Добавьте настраиваемые команды, которые позволяют запускать внешние приложения, копировать / перемещать в определенную папку или удалять определенные типы файлов.
  • Настройте подменю «Отправляет…».
  • Включение / отключение команд, добавляемых другими приложениями в контекстное меню, и многое другое!

КОНЧИК: Прочтите этот пост, если хотите удалить элементы из контекстного меню «Новое».

Сообщите нам, как вам удается поддерживать чистоту и порядок в контекстном меню, вызываемом правой кнопкой мыши в Проводнике!

Теги: Контекстное меню, проводник

Отображение меню

Для отображения контекстного меню в Win32 API предусмотрена функция TrackPopupMenu(Ex). В MFC ей соответствует функция CMenu::TrackPopupMenu. Все эти функции выполняют следующие действия: отображают контекстное меню в заданной точке экрана, запускают собственный цикл сообщений, в котором отслеживают выбор пользователя, а в конце, когда пользователь выбрал какой-то пункт или закрыл меню, уведомляют программу о его выборе.

Рассмотрим прототип функции TrackPopupMenu.

BOOL TrackPopupMenu(
  HMENU hMenu,         // хэндл всплывающего меню
  UINT uFlags,         // опции
  int x,               // горизонтальная позиция
  int y,               // вертикальная позиция
  int nReserved,       // зарезервированный параметр, д. б. 0
  HWND hWnd,           // хэндл окна-владельца меню
  CONST RECT *prcRect  // параметр игнорируется
);

Параметр hMenu определяет всплывающее меню, которое следует отобразить. Параметры x и y задают положение меню на экране, а hWnd — окно, которое будет получать все сообщения от меню (этот параметр не может быть равен NULL). Параметры nReserved и prcRect не используются. Что касается опций, их полный список можно найти в документации

Я хочу обратить ваше внимание только на флаг TPM_RETURNCMD. Если он не задан, программа получит уведомление о выборе пользователя в виде сообщения WM_COMMAND

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

Использование сторонних инструментов

Существует несколько сторонних приложений, разработанных специально для отключения контекстного меню Windows 10. Некоторые из наиболее популярных и используемых: Легко Контекстное меню , ContextEdit or МенюГорничная .

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector