Как известно, в Windows 11 имеется не одно, а два контекстных меню Проводника – старое, которое сейчас напрямую можно открыть комбинацией Shift + ПКМ и новое, открывающиеся простым ПКМ. Когда новое меню только появилось, оно было почти пустым, однако со временем в нем стали появляться элементы меню сторонних программ – когда их разработчики разобрались с механизмами его работы.
В общем, история повторяется, и мало-помалу новое меню заполняется мусором, который рано или поздно придется из него вычищать.
Увы, старые знакомые методы удаления пунктов контекстного меню с новым меню работать не будут.
Для регистрации в новом контекстном меню Проводника Windows 11 новые версии программ используют файл манифеста – у каждой программы есть свой манифест, хранящийся в ее папке, расположенной в общем хранилище манифестов приложений C:\Program Files\WindowsApps. И касается это не только универсальных магазинных приложений, но также и целого ряда десктопных программ.
Чтобы убрать из нового контекстного меню принадлежащий программе пункт меню, необходимо определить прописанный в ее манифесте идентификатор и создать в соответствующем разделе реестра строковый параметр, указав в качестве его имени полученный SID.
Рассмотрим процедуру на примере с Notepad++.
Включив отображение скрытых файлов, перейдите в расположение C:\Program Files\WindowsApps. Возможно, вам придется стать владельцем этого каталога, изменив параметры доступа в его свойствах на вкладке «Безопасность» либо воспользовавшись сторонней утилитой TakeOwnershipEx.
Найдите каталог Notepad++.
Для определения точного названия каталога можно воспользоваться командой:
Get-AppxPackage | where PackageFamilyname -match 'NAME' | ft Name
Где NAME – имя или часть имени программы, которую вы хотите скрыть из контекстного меню.
В папке приложения найдите файл AppxManifest.xml,
откройте его текстовым редактором и отыщите блок Extensions. В нем содержатся CLSID элементов: desktop5:Verb для старого и com:Extension – для нового меню.
Откройте командой regedit редактор реестра и перейдите в раздел:
HKCU\Software\Microsoft\Windows\CurrentVersion\Shell Extensions
Здесь создайте подраздел Blocked (если отсутствует),
а в нем создайте строковый параметр.
И дайте ему название CLSID из файла манифеста.
Если вы хотите скрыть пункт меню для всех пользователей, выполните те же манипуляции в разделе реестра HKLM.
Изменения должны вступить в силу после перезапуска Проводника или перезахода в учетную запись.
Надо отметить, что работает этот способ не со всеми приложениями. Так, в случае с облачными клиентами описанным способом из контекстного меню Проводника удастся удалить только часть элементов.
К слову, Notepad++ это тоже касается, поскольку для регистрации в оболочке Windows он использует не только файл манифеста. Этот текстовый редактор напрямую прописывается в раздел реестра HKCR\*\shell, из которого его придется удалять отдельно.
|