Как почистить контекстное меню windows 10

Контекстное меню файлов и папок в Windows 10 пополнилось новыми пунктами, многими из которых некоторые никогда не пользуются: Изменить с помощью приложения Фотографии, Изменить с помощью Paint 3D, Передать на устройство, Проверка с использованием Windows Defender и некоторыми другими.

В случае, если эти пункты контекстного меню мешают вам работать, а возможно вы хотите удалить и какие-то другие пункты, например, добавленные сторонними программами, вы можете сделать это несколькими способами, о которых и пойдет речь в этой инструкции. См. также: Как удалить и добавить пункты в контекстном меню «Открыть с помощью», Редактирование контекстного меню Пуск Windows 10.

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

Примечание: производимые операции теоретически могут что-то сломать. Прежде чем приступать рекомендую создать точку восстановления Windows 10.

Проверка с использованием Windows Defender

Пункт меню «Проверка с использованием Windows Defender» появляется для всех типов файлов и для папок в Windows 10 и позволяет проверить элемент на вирусы с помощью встроенного защитника Windows.

Контекстное меню файла Windows 10

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

  1. Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
  2. В редакторе реестра перейдите к разделу
    HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\EPP

    и удалите этот раздел. 

    Убрать Проверить в Windows Defender из контекстного меню

  3. Повторите то же самое для раздела
    HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\EPP

После этого закройте редактор реестра, выйдите и зайдите в систему (или перезапустите проводник) — ненужный пункт исчезнет из контекстного меню.

Изменить с помощью Paint 3D

Чтобы удалить пункт «Изменить с помощью Paint 3D» в контекстном меню файлов изображений, проделайте следующие шаги.

  1. В редакторе реестра перейдите к разделу
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.bmp\Shell

    и удалите из него значение «3D Edit».

  2. Повторите то же самое для подразделов .gif, .jpg, .jpeg, .png в HKEY_LOCAL_MACHINE\ SOFTWARE\ Classes\ SystemFileAssociations\

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

Изменить с помощью приложения «Фотографии»

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

Для его удаления в разделе реестра HKEY_CLASSES_ROOT\ AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\ Shell\ ShellEdit создайте строковый параметр с именем ProgrammaticAccessOnly.

Удалить изменить с помощью Фотографии из контекстного меню

Передать на устройство (воспроизвести на устройстве)

Пункт «Передать на устройство» может быть полезен для передачи контента (видео, изображений, аудио) на бытовой телевизор, аудио-систему или другое устройство по Wi-Fi или LAN при условии поддержки устройством воспроизведения по DLNA (см. Как подключить телевизор к компьютеру или ноутбуку по Wi-Fi).

Если этот пункт вам не нужен, то:

  1. Запустите редактор реестра.
  2. Перейдите к разделу
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions
  3. Внутри этого раздела создайте подраздел с именем Blocked (если он отсутствует).
  4. Внутри раздела Blocked создайте новый строковый параметр с именем {7AD84985-87B4-4a16-BE58-8B72A5B390F7} 
    Удалить воспроизвести на из контекстного меню

После выхода и повторного входа в Windows 10 или после перезагрузки компьютера пункт «Передать на устройство» пропадет из контекстного меню.

Программы для редактирования контекстного меню

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

Если вам требуется только убрать пункты контекстного меню, появившиеся в Windows 10, то могу рекомендовать утилиту Winaero Tweaker. В ней необходимые опции вы найдете в разделе Context Menu — Remove Default Entries (помечаем пункты, которые нужно убрать из контекстного меню). Еще одна программа, на русском языке — EasyContextMenu.

Удаление пунктов контекстного меню в Winaero Tweaker

На всякий случай переведу пункты:

  • 3D Print with 3D Builder — убрать 3D печать с помощью 3D Builder.
  • Scan with Windows Defender — проверить с помощью Windows Defender.
  • Cast to Device — передать на устройство.
  • BitLocker context menu entries — пункты меню BiLocker.
  • Edit with Paint 3D — изменить с помощью Paint 3D.
  • Extract All — извлечь всё (для архивов ZIP).
  • Burn disc image — Записать образ на диск.
  • Share with — Поделиться.
  • Restore Previous Versions — Восстановить предыдущие версии.
  • Pin to Start — Закрепить на начальном экране.
  • Pin to Taskbar — Закрепить на панели задач.
  • Troubleshoot Compatibility — Исправить проблемы с совместимостью.

Подробнее о программе, где ее скачать и других полезных функциях в ней в отдельной статье: Настройка Windows 10 с помощью Winaero Tweaker.

Еще одна программа, с помощью которой можно убрать и другие пункты контекстного меню — ShellMenuView. С помощью нее вы можете отключить как системные, так и сторонние ненужные пункты контекстного меню.

Удаление пунктов контекстного меню в ShellMenuView

Для этого нажмите по данному пункту правой кнопкой мыши и выберите пункт «Запретить выбранные элементы» (при условии, что у вас русская версия программы, в противном случае пункт будет называться Disable Selected Items). Скачать ShellMenuView можно с официальной страницы https://www.nirsoft.net/utils/shell_menu_view.html (на этой же странице находится файл русского языка интерфейса, который необходимо распаковать в папку с программой, чтобы включить русский язык).

Все способы:

  • Способ 1: Редактор реестра
    • Контекстное меню для файлов
    • Контекстное меню для папок
    • Контекстное меню «Рабочего стола»
  • Способ 2: Сторонние программы
    • Easy Context Menu
    • CCleaner
  • Вопросы и ответы: 0

Способ 1: Редактор реестра

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

Контекстное меню для файлов

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

  1. Откройте «Редактор реестра» командой regedit, выполненной в диалоговом окошке, вызванном комбинацией Win + R.
  2. Как редактировать контекстное меню в Windows 10-1

  3. Разверните ветку HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers. В правой колонке найдите пункт, который необходимо отредактировать. Обратите внимание, что все соответствующие элементы прописаны на английском языке. К примеру, «Open With» соответствует пункту меню «Открыть с помощью».
  4. Как редактировать контекстное меню в Windows 10-2

  5. Чтобы скрыть ненужный пункт, откройте двойным кликом окошко редактирования значения по умолчанию и переименуйте его таким образом, чтобы при желании его можно было бы легко восстановить. Например, добавьте в начало значения параметра знак «-». Более жестким вариантом является удаление подраздела, соответствующего пункту меню.
  6. Как редактировать контекстное меню в Windows 10-3

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

Контекстное меню для папок

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

  1. Откройте «Редактор реестра» и проверьте содержимое следующих веток:
    • HKEY_CLASSES_ROOT\Directory\shell
    • HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
    • HKEY_CLASSES_ROOT\Folder\shell
    • HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers
  2. Выберите соответствующий названию пункта меню подраздел ключа и отредактируйте значение по умолчанию, как было показано выше, либо удалите подраздел целиком.
  3. Как редактировать контекстное меню в Windows 10-4

Контекстное меню «Рабочего стола»

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

  1. Запустив «Редактор реестра», разверните ветку HKEY_CLASSES_ROOT\DesktopBackground\Shell. Последний подраздел может содержать несколько вложенных каталогов, в том числе созданных прописавшимися в контекстное меню «Рабочего стола» сторонними программами. Как правило, название таких каталогов соответствует названию создавшей их программы.
  2. Чтобы убрать из меню добавленный сторонней программой пункт, удалите соответствующий ей подраздел в указанном ключе реестра.
  3. Как редактировать контекстное меню в Windows 10-5

  4. Подтвердите действие в диалоговом окошке.
  5. Как редактировать контекстное меню в Windows 10-6

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

  1. Открыв «Редактор реестра», разверните ветку HKEY_CLASSES_ROOT\DesktopBackground\Shell, кликните правой кнопкой мыши по пустой области справа и выберите «Создать»«Раздел». Название создаваемого раздела может быть произвольное, желательно на английском языке.
  2. Как редактировать контекстное меню в Windows 10-7

  3. Точно так же вызовите контекстное меню уже в созданном разделе и выберите «Создать»«Строковый параметр».
  4. Как редактировать контекстное меню в Windows 10-8

  5. Создайте строковые параметры «MUIVerb», «Icon», «Position».
  6. Как редактировать контекстное меню в Windows 10-9

  7. Откройте двойным кликом по параметру «MUIVerb» окошко редактирования его значения и впишите в него название пункта меню. Оно может быть как английское, так и кириллическое.
  8. Как редактировать контекстное меню в Windows 10-10

  9. Остальные параметры являются необязательными. «Icon» позволяет выбрать иконку для пункта меню, «Position» же задает место расположения пункта в меню. Далее в текущем подразделе необходимо создать дочерний подраздел и назвать его «command».
  10. Как редактировать контекстное меню в Windows 10-11

  11. Перейдите в созданный раздел, откройте двойным кликом окошко редактирования параметра по умолчанию и задайте в качестве его значения полный путь к исполняемому файлу программы или скрипта. Исключение составляют программы, исполняемые файлы которых находятся в системной папке. В этом случае можно указать только название исполняемого файла.
  12. Как редактировать контекстное меню в Windows 10-12

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

Способ 2: Сторонние программы

Тем, кому способ редактирования контекстных меню с помощью «Редактора реестра» кажется сложным, можно порекомендовать специальные программы – редакторы контекстных меню.

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

Скачать Easy Context Menu с официального сайта

  1. Скачайте архив с программой с сайта разработчика, распакуйте и запустите исполняемый файл EcMenu.exe.
  2. Выберите нужный раздел, отметьте флажками пункты, которые хотите добавить в контекстное меню.
  3. Выберите на вкладке «Файл» опцию «Применить изменения» или нажмите комбинацию клавиш Ctrl + S.
  4. Если нужно удалить нежелательный пункт, выберите на вкладке «Файл» опцию «Чистка контекстного меню».
  5. Выделите ненужный пункт в открывшемся списке и нажмите кнопку «Отключить» или «Удалить».
  6. Как редактировать контекстное меню в Windows 10-16

Дополнительно приложением Easy Context Menu поддерживается редактирование названий добавляемых пунктов меню, замена иконок по умолчанию, порядка расположения пунктов. Чтобы вызвать этот внутренний редактор, нажмите комбинацию клавиш Ctrl + E.

CCleaner

Если Easy Context Menu предназначена в основном для добавления в контекстные меню новых элементов, то для удаления ставших ненужными элементов контекстных меню вполне подойдет популярный чистильщик CCleaner.

Скачать CCleaner

  1. Скачайте программу с сайта разработчика, установите и запустите.
  2. Зайдите в раздел «Инструменты»«Запуск» и переключитесь на вкладку «Контекстное меню».
  3. Выделите ненужный элемент контекстного меню мышкой и нажмите «Выключить» или «Удалить», если хотите избавиться от пункта навсегда.
  4. Как редактировать контекстное меню в Windows 10-17

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

Наша группа в TelegramПолезные советы и помощь

Вы тут: Главная Popular Как убрать ненужные программы из контекстного меню Windows

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

[+] Сегодня в программе

История вопроса: меню новое и старое

Старое меню исторически вызывались правой кнопкой мыши (ПКМ) на файле или папке, а также сочетанием клавиш Shift + F10. Теперь оба варианта вызывают новое меню. Старое напрямую открывается сочетанием Shift + ПКМ, а также в сторонних файловых менеджерах (например, в Total Commander).

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

На картинке контекстное меню MP3-файла в папке OneDrive. Количество приложений в списке зависит от типа файла (например, ClipChamp и Mp3tag связаны с mp3, но не с txt). Если файл или папка входят в сферу облачного диска, в меню появляются пункты для управления состоянием объекта.

Все написанное в этой статье также применимо к контекстному меню папки и фона папки. Просто пунктов там поменьше обычно.

Основным мотивом для изменений стало безобразное разрастание меню. Осенью 2021 года я писал в канале Telegram:

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

Для борьбы с разрастанием меню решили лечить конкретные болезни:

  • неподписанные приложения (для регистрации в новом меню фактически нужна цифровая подпись)
  • «варварская» регистрация в разделе реестра HKCR\shell\*\ (Notepad++)
  • нежелание разработчиков писать толковое расширение оболочки, что выливается в наполнение меню множеством пунктов вместо раскрывающегося списка (OneDrive↑)

Как приложения регистрируются в контекстном меню

Это необходимо знать, если мы хотим отменить регистрацию. У Microsoft исторически была весьма развесистая документация по контекстным меню. В выходом новой ОС компания опубликовала рамочный пост в блоге для разработчиков: Extending the Context Menu and Share Dialog in Windows 11. Там пара ссылок на документацию (не приводящих четко к цели), общие фразы и лучшие практики – для тех, кто в теме.

Теперь по гайдлайнам следует регистрировать программу в меню с помощью манифеста. Центральное хранилище манифестов приложений – папка C:\Program Files\WindowsApps. Даже если зарегистрированное классическое приложение установлено не из магазина, у него будет там своя подпапка.

Для доступа в эту системную папку необходимы правa администратора. Запускайте с полными правами PowerShell, сторонний файловый менеджер или проводник.

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

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

Манифест приложения – это файл AppxManifest.xml. В узле Extensions прописаны расширения оболочки.

<Extensions>
	<desktop4:Extension Category="windows.fileExplorerContextMenus">
		<desktop4:FileExplorerContextMenus>
			<desktop5:ItemType Type="*">
				<desktop5:Verb Id="EditWithNotepadPlusPlus" Clsid="E6950302-61F0-4FEB-97DB-855E30D4A991" />
			</desktop5:ItemType>
		</desktop4:FileExplorerContextMenus>
	</desktop4:Extension>
	<com:Extension Category="windows.comServer">
		<com:ComServer>
			<com:SurrogateServer DisplayName="Notepad++ Shell Extension">
				<com:Class Id="E6950302-61F0-4FEB-97DB-855E30D4A991" Path="NppShell.dll" ThreadingModel="STA"/>
			</com:SurrogateServer>
		</com:ComServer>
	</com:Extension>
</Extensions>

В частности, здесь программа прописывается в:

  • старое меню — узел desktop4:Extension Category="windows.fileExplorerContextMenus"
  • новое меню – узел com:Extension Category="windows.comServer"

Ключом к регистрации служит уникальный идентификатор – CLSID. Так, у Notepad++ идентификатор E6950302-61F0-4FEB-97DB-855E30D4A991.

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

У Notepad++ только один CLSID, и это вполне типичный случай. Однако таких CLSID может быть и несколько – например, у OneDrive их почти два десятка.

Как вручную удалить пункт приложения из контекстного меню

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

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

Задача решается в три простых шага. Все команды выполняйте в PowerShell от имени администратора.

Шаг 1 — Определите уникальную часть имени приложения

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

Выполните команду ниже, заменив notepad на часть имени своего приложения:

Get-AppxPackage | where PackageFamilyname -match 'notepad' | ft Name

Name
----
NotepadPlusPlus
Microsoft.WindowsNotepad

В моем примере нашлось два приложения. Уникальной частью имени будет NotepadPlusPlus или WindowsNotepad.

Шаг 2 – Откройте манифест и найдите CLSID

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

Get-ChildItem -Force "C:\Program Files\WindowsApps\*NotepadPlusPlus*\AppxManifest.xml" | 
ForEach-Object {explorer $_.FullName}

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

Поиском в манифесте найдите узел com:SurrogateServer и скопируйте оттуда все CLSID.

Шаг 3 – Внесите изменения в реестр

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

  1. Перейдите в раздел реестра (создайте при отсутствии):
    HKCU\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked
    В этом разделе блокируются расширения оболочки текущего пользователя. Если вы хотите заблокировать их для всех пользователей, замените HKCU на HKLM.
  2. Для каждого найденного CLSID создайте строковый параметр:
    • Имя: CLSID в фигурных скобках. Например, для Notepad++ это {E6950302-61F0-4FEB-97DB-855E30D4A991}
    • Значение: необязательно, но стоит указать имя программы

Это все! Для вступления изменений в силу перезапустите проводник или выйдите из системы.

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

Скрипт PowerShell для удаления приложений из контекстного меню

Я написал скрипт PowerShell, который автоматизирует ручной способ выше и обрабатывает сразу несколько приложений.

Скачайте скрипт context-menu.zip, разблокируйте его, потом выполняйте.

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

.\context-menu.ps1 -Apps onedrive,windowsnotepad,skype

Скрипт целиком.

<#
.SYNOPSIS
Removes application entries from the Windows file and folder context menus.

.DESCRIPTION
The script removes app context menu items from the new menu in Windows 11 and legacy menu in Windows 11/10.
The script takes care only of the apps registered via a manifest.
It collects extensions IDs from app manifests and blocks them via Windows Registry.

.PARAMETER Apps
Comma-separated list of app names to remove from the context menu.
If not provided, the script lists all registered apps and their CLSIDs.

.PARAMETER Scope
Accepts HKLM (all users) or HKCU (current user, default behavior).

.EXAMPLE
PS> .\context-menu.ps1
Lists all registered app names and their CLSIDs.

.EXAMPLE
PS> .\context-menu.ps1 -Apps onedrive,windowsnotepad,skype
Removes the listed apps from the current user context menu. Unique partial names are ok.

.EXAMPLE
PS> .\context-menu.ps1 -Apps onedrive,windowsnotepad,skype -Scope HKLM
Removes the listed apps from all users context menu. Unique partial names are ok.

.LINK
_https://www.outsidethebox.ms/22361/
#>

param(
    [Parameter()]
    [string[]]$Apps,
    [string]$Scope = 'HKCU'
    )

# script scope - HKCU (current user, default) or HKLM (all users)  
if ( ($Scope -ne 'HKCU') -and ($Scope -ne 'HKLM') ) {
	Write-Error 'Unacceptable scope. Use HKLM or HKCU.' -ErrorAction Stop
	}

$regpath = "$($Scope):Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked"
New-Item -Path $(Split-Path $regpath -Parent) -Name $(Split-Path $regpath -Leaf) -ErrorAction SilentlyContinue | Out-Null

# if no app list supplied, we'll get all registered apps and CLSIDs 
if (-Not ($PSBoundParameters.ContainsKey('Apps'))) {
    Write-Host "Here's the list of context menu apps and their CLISDs:"
    $Apps = '*'
}

foreach ($app in $Apps) {
    # Get all manifests with registered context menu extensions
    $manifests = Get-ChildItem -Force "C:\Program Files\WindowsApps\*$App*\AppxManifest.xml" 
    foreach ($manifest in $manifests) {
        $xml = [xml] (Get-Content ($manifest).FullName)
        $elem = $xml.get_DocumentElement()
        #Get app name and extension CLSIDs
        $app = $elem.Identity.Name
        $clsids = $elem.Applications.Application.Extensions.Extension.comServer.SurrogateServer.class.id        
        if ($Apps -ne '*') { 
            # If apps were supplied, write CLSIDs to the registry
            foreach ($clsid in $clsids) {
            $name = '{' + $clsid + '}'
            New-ItemProperty -Path $regpath -Name $name -Type String -Value $app -Force | Out-Null
            }                     
                }
        else {
            # Output apps and their CLSIDs                
            foreach ($clsid in $clsids) {
                Write-Host "{$($clsid)} $($app)" 
            } 
        }               
    }
}
if ($Apps -ne '*') {
    # Restart explorer for the current user to apply the changes
    Get-Process explorer -IncludeUserName | where UserName -match $ENV:USERNAME | Stop-Process
    # Export REG-file to %temp%
    $regexportpath = $regpath.replace(':','\')
    reg export "$regexportpath" "$ENV:TEMP\context-menu.reg" /y
}

Прокомментирую на русском логику скрипта.

  1. Создается раздел реестра, если его нет. Как и в ручных инструкциях, изменения вносятся в пользовательский раздел HKCU. Если вы хотите навязать свою волю всем пользователям, выполняйте скрипт с параметром -Scope HKLM.
  2. Если скрипт запускается без параметров, выполняется выборка по всем манифестам в папке WindowsApps. Иначе отбираются только перечисленные в параметре -Apps приложения.
  3. В каждом манифесте скрипт опирается на схему XML, добираясь до узла comServer и далее com:Class Id, чтобы извлечь оттуда CLSID. Я раньше не сталкивался с именами узлов, содержащими двоеточия или/и пробелы — com:Class Id. Но все оказалось просто – для выборки важна лишь последняя часть – Id в этом случае.
  4. Далее простой перебор всех найденных CLSID и запись значений в реестр. Если скрипт запускался без параметров, он просто выводит имена приложений и их CLSID на экран.
  5. Если создавались записи в реестре, скрипт перезапускает проводник для вступления изменений в силу. Также во временную папку экспортируется REG-файл на память.

Случаи, в которых этот способ не работает

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

OneDrive и другие облачные провайдеры

Этот раздел про OneDrive, iCloud Drive и Photos, Nextcloud и другие облачные диски, опирающиеся на API Windows.

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

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

Здесь:

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

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

Устаревшие способы регистрации в старом контекстном меню

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

  • Windows 10, где нового меню нет
  • сторонних файловых менеджеров, которые сразу показывают старое меню (Total Commander)

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

Раздел реестра shell

Ранее я упомянул «варварскую» регистрацию путем прямой записи в HKCR\*\shell. И Notepad++ — отличный пример. Да, у него есть расширение оболочки, но здесь он прописывается для всех типов файлов напрямую.

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

Описанный в статье метод тут не поможет. Утилиты ShellMenuView и ShellExView против этого тоже бессильны. Надо удалять запись из реестра.

Впрочем, ShellMenuView вполне справляется с приложениями, которые применяет более щадящий метод регистрации — только для своих типов файлов. Например, VLC создает много записей вида HKEY_CLASSES_ROOT\VLC.mxf.Document\shell\enqueue\command.

Раздел реестра shellex

Также заметьте на скриншоте выше↑ пункты WinRAR, прописанные в соседнем разделе HKCR\*\shellex. Раздел shellex исторически предназначен для регистрации расширения оболочки.

WinRAR — любопытный пример программы с опцией двойной регистрации.

По умолчанию приложение регистрируется новым методом, но в установщике есть пункт для старого! Активировав его, вы получите дополнительный блок в старом меню. На картинке нижний блок относится к устаревшему методу регистрации расширения оболочки в shellex.

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

Однако WinRAR использует один и тот же CLSID для обоих методов, поэтому блокировка в реестре убирает оба пункта. Благодаря наличию записей в разделе HKCR\*\shellex, утилита ShellExView отобразит это расширение оболочки и тоже выключит все пункты.

Резюме: зарегистрированные только по-старинке программы нужно выпиливать старыми же способами.

Мое мнение о ситуации с контекстными меню

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

О производительности меню

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

О разработчиках

Между тем, некоторые (многие?) разработчики не торопятся добавлять свои программы в новое меню. 7-Zip Игоря Павлова — яркий пример. И не случайно магазинный форк NanaZip так популярен — он дружит с новым меню!

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

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

Заключение

Oпрос читателей канала показал, что как минимум 6 из 10 человек не устраивает скорость открытия меню и/или лишние пункты в нем. Воспользовавшись моим решением, вы сможете снять по крайней мере часть этих проблем. А для борьбы со старыми методами регистрации сгодятся уже хорошо зарекомендовавшие себя утилиты.

Вам может быть интересно: Как скрыть и удалить быстрый доступ из проводника.

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

Если вы кликните правой кнопкой мыши на файл в самом последнем выпуске Windows 10, вы увидите минимум три, дополнительных элемента контекстного меню.

Новые пункты в контекстном меню Windows 10.

  • «Изменить с помощью Paint 3D» — позволяет отредактировать изображение со встроенным приложением Paint 3D,
  • «Изменить с помощью приложения Фотографии» открывает изображение в программе Фотографии для коррекции,
  • «Передать на устройство» — передать медиа файл на другое устройство, 
  • «Отправить», которая позволяет пользователю Windows 10 поделится файлом, предоставляя общий доступ к выбранному элементу.

Теперь в контекстном меню Windows 10 мы имеем три варианта редактирования изображений, без возможности отключить эти записи.

Примечание. Я рекомендую создать резервную копию реестра, прежде чем вносить в него какие-либо изменения. Это позволить восстановить состояние до редактирования.

Удаление ненужных пунктов контекстного меню Windows 10.

Изменить с помощью Paint 3D

Paint 3D был включен в обновление для Windows 10 Creators. Это модернизированная версия классического приложения Paint, которая поставляется с новым интерфейсом пользователя и новыми возможностями, такими как 3D-функциональность.

Существует только одна ситуация, когда запись «Изменить с помощью Paint 3D» в контекстном меню имеет смысл: когда вы используете другой редактор изображений по умолчанию для редактирования, но иногда используйте Paint 3D. Даже в этом случае можно использовать «Открыть с помощью» вместо — Изменить с помощью Paint 3D.

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

Чтобы удалить запись — Изменить с помощью Paint 3D, выполните следующие действия.

  1. Нажмите на клавишу Windows на клавиатуре компьютера, введите regedit.exe и нажмите клавишу Enter, чтобы открыть редактор реестра Windows.
  1. Подтвердите приглашение UAC.
  1. Перейдите в раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.bmp\Shell
  1. Кликните правой кнопкой мыши на 3D Edit и выберите «Удалить».
  1. Перейдите в раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.gif\Shell
  1. Кликните правой кнопкой мыши на 3D Edit и выберите «Удалить».
  1. Перейдите в
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.jpg\Shell
  1. Кликните правой кнопкой мыши на 3D Edit и выберите «Удалить».
  1. Перейдите в раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.jpeg\Shell
  1. Кликните правой кнопкой мыши на 3D Edit и выберите «Удалить».
  1. Перейдите в раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.jpg\Shell 
  1. Кликните правой кнопкой мыши на 3D Edit и выберите «Удалить».

Если вы заметили запись «Изменить с помощью Paint 3D» рядом с любым другим типом изображения, повторите описанный выше процесс. Все, что вам нужно сделать, это перейти в

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\

нажмите на тип файла изображения, а затем в командной консоли Shell удалите раздел 3D Edit.

Изменить с помощью приложения Фотографии.

«Изменить с помощью приложения Фотографии» — это новый параметр контекстного меню, который не является частью версии Windows 10 Creators Update. Он отображается в последних версиях Windows 10 Fall Creators.

Если вы не используете приложение «Фотографии» для редактирования изображений в Windows 10, вы можете удалить эту запись из контекстного меню «Проводника».

Чтобы удалить «Изменить с помощью приложения Фотографии», выполните следующие действия:

  1. Нажмите на клавишу Windows на клавиатуре компьютера, введите regedit.exe и нажмите клавишу Enter, чтобы открыть редактор реестра Windows.
  2. Подтвердите приглашение UAC.
  3. Перейдите в
HKEY_CLASSES_ROOT\AppX43hnxtbyyps62jhe9sqpdzxn1790zetc\Shell\ShellEdit
  1. Кликните правой кнопкой мыши на ShellEdit и выберите «Создать» →  «Строковый параметр». Назовите его ProgrammaticAccessOnly.

Удалить пункт «Передать на устройство».

Если вы не используете функцию Windows 10, «Передать на устройство» эта запись, в контекстном меню проводника вам не нужна.

Все что она позволяет, — это передавать медиафайлы на устройства, поддерживающие Miracast или DLNA.

Чтобы удалить «Передать на устройство», выполните следующие действия.

  1. Нажмите на клавишу Windows на клавиатуре компьютера, введите regedit.exe и нажмите клавишу Enter, чтобы открыть редактор реестра Windows.
  2. Подтвердите приглашение UAC.
  3. Перейдите в раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions
  1. Если в разделе «Shell Extensions» нет подраздела Blocked, Кликните правой кнопкой мыши на раздел «Shell Extensions» и выберите «Создать» →  «Раздел». Назовите его Blocked.

  1. Кликните правой кнопкой мыши на раздел Blocked и выберите Создать →  Строковый параметр.
  1. Назовите его {7AD84985-87B4-4a16-BE58-8B72A5B390F7}

  1. Дважды Кликните новое созданный строковый параметр и измените поле Значение на Play to menu .

Это изменение вступит в силу, после того, как вы выйдите из системы, перезагрузите компьютер или перезапустите процесс проводника Windows.

Совет. Чтобы восстановить запись «Передать на устройство», в контекстном меню Windows 10, удалите созданный параметр — {7AD84985-87B4-4a16-BE58-8B72A5B390F7} .

Удалить пункт контекстного меню Отправить (Поделиться).

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

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

  1. Нажмите на клавишу Windows на клавиатуре компьютера, введите regedit.exe и нажмите клавишу Enter, чтобы открыть редактор реестра Windows.

  1. Подтвердите приглашение UAC.
  1. Перейдите в
HKEY_Classes_ROOT\*\shellex\ContextMenuHandlers\
  1. Кликните правой кнопкой мыши пункт «Modern Sharing» и выберите «Удалить» в контекстном меню.

Все! Теперь вы какие пункты контекстного меню вы удалили и почему? 

Рекомендуем: Удалить папки из раздела Этот компьютер в Windows 10.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 pro tweak no defender что это
  • Какие драйвера нужно устанавливать после установки windows 10 для игр
  • Windows install android apps on windows
  • 7tsp gui для windows 10
  • Realtek hd audio manager для windows 10 как включить