Чистим контекстные меню в Windows

Автор: Даниил Худоба

Источник: http://www.cpp.com.ua/


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

Меню, открывающиеся по щелчку правой кнопкой мыши, называются контекстными потому, что их содержимое зависит от контекста — другими словами, от того, в какой программе вы находитесь и на каком объекте щелкнули. Файловые утилиты, многие бесплатные программы и другие приложения, чтобы было удобнее ими пользоваться, часто добавляют в контекстные меню свои команды и целые разделы. Так поступают, в частности, архиваторы WinZip и WinRar, а также почтовые клиенты Outlook Express и The Bat! которые добавляют в контекстные меню файлов команды упаковки и отправки по электронной почте в виде вложений.

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

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

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


Архивы WinZip

Популярная утилита-архиватор WinZip добавляет в контекстные меню файлов несколько команд (таких как Add to Zip) либо выделяет их в субменю WinZip. Для того чтобы настроить эти команды, запустите WinZip в «классическом» режиме (а не в режиме мастера) и выберите команду Options > Configuration (Опции > Настройки). В версии 8.1 и более поздних перейдите на вкладку System (Система) в раздел Explorer Enhancements (Расширение "Проводника"). Чтобы не слишком долго рыться в поисках нужной команды, в этих версиях можно отключить режим Display context menu items in a submenu (Некаскадное меню) — и тогда команды архивирования будут размещаться в основном меню, как в предыдущих версиях WinZip.

Чтобы изменить отдельные команды, выберите или отключите соответствующие элементы в разделе Context menu command (Команды контекстного меню). Отключив режим Display icons on context menus (Иконки в меню), можно оставить в меню команды, но удалить пиктограммы.

Наконец, для того чтобы полностью исключить команды WinZip из контекстного меню, отключите режим Use shell extension (Использовать расширения оболочки, в версиях 7 и 8) или Enable Explorer enhancements (Расширение "Проводника"). Однако имейте в виду, что при этом вы потеряете возможность извлечь содержимое из архива, перетащив его правой кнопкой мыши, и не сможете пополнять архив путем перетаскивания файлов на его пиктограмму.



Настройка команд контекстных меню, создаваемых популярным архиватором WinZip


Музыка Winamp

Бесплатный медиа-плеер Winamp добавляет в меню папки три команды: Play in Winamp (Проиграть в Winamp), Enqueue in Winamp (Поставить в очередь Winamp) и Add to Winamp's Bookmark list (Добавить в список закладок Winamp). Чтобы удалить их, откройте Winamp и выберите Options > Preferences (Сервис > Параметры) или щелкните правой кнопкой мыши в окне программы или на ее панели и выберите эту же команду из ее собственного контекстного меню. В левой части окна появится изображение иерархической структуры меню. В разделе General Preferences (Общие параметры) выберите ветвь File types (Типы файлов) — в более ранних версиях она называется Setup (Настройка) — и отключите режим Show Winamp in folder context menus in Windows Explorer (Показывать Winamp в контекстных меню папок "Проводника") или, в ранних версиях, Directory context menus (Контекстные меню каталогов) и щелкните на кнопке Close (Закрыть).


Контекстные меню "Проводника"


В Windows 2000 и XP Pro для удаления отдельных команд из контекстного меню My Computer (Мой компьютер) и папок можно воспользоваться инструментом Group Policy (Групповая политика). Предположим, мы хотим убрать из контекстного меню My Computer (Мой компьютер) команду Manage (Управление), по которой запускается инструмент администрирования Computer Management (Управление компьютером). Для этого нужно выбрать Start > Run (Пуск > Выполнить), ввести gpedit.msc и нажать Enter. Откроется окно, на левой панели которого будет отображено иерархическое дерево команд. Перейдите в раздел Local Computer Policy \ User Configuration \ Administrative Templates \ Windows Components \ Windows Explorer, дважды щелкните на элементе Hides the Manage item on the Windows Explorer context menu (Скрыть элемент «Управление» в контекстном меню "Проводника"), выберите режим Enable (Включено) и щелкните на кнопке OK.

Эта утилита запускается также по команде Start > Programs > Administrative Tools > Computer Management (Пуск > Программы > Инструменты администрирования > Управление компьютером) и если выбрать команду Start > Run, ввести compmgmt.msc и щелкнуть на кнопке OK.

Для того чтобы удалить все контекстное меню папок в Windows 2000, перейдите к пиктограмме Windows Explorer (Проводник) на левой панели и дважды щелкните на элементе Remove Windows Explorer's default context menu (Удалить стандартное контекстное меню "Проводника"). В Windows XP нужно выбрать одноименный элемент, активировать режим Enable (Включено) и щелкнуть на кнопке OK. Когда вы в следующий раз щелкнете правой кнопкой мыши на папке, расположенной на рабочем столе, или на пиктограмме в Explorer, ничего не произойдет — впрочем, контекстные меню остальных объектов, таких как панели инструментов, по-прежнему будут работать. Чтобы отменить эти изменения, достаточно вернуться в описанное диалоговое окно, выбрать режим Not configured (Не конфигурирован) и щелкнуть OK.

В Windows 9x для редактирования контекстного меню определенного типа файла нужно открыть окно My Computer (Мой компьютер) и выбрать команду View > Folder Options (Вид > Свойства папки). Откроется диалоговое окно Folder Options (Свойства папки). Если в нем перейти на вкладку File Types (Типы файлов), выбрать файл нужного типа и щелкнуть на кнопке Edit (Правка), откроется еще одно окно — Edit File Type (Правка типа файла). У этого окна есть несколько полезных функций, в частности можно изменить его пиктограмму или описание. Но главное — в нижней части окна представлены те из команд контекстного меню, которые можно изменить, и ряд кнопок для этого: Remove (Удалить), Set Default (По умолчанию), а также Edit (Правка) и New (Создать).



Настройка контекстных меню «Проводника» Windows 9x


Как видим, команды контекстного меню можно не только удалять, но и создавать. Правда, для этого необходимо быть в курсе определенных соглашений, принятых при составлении таких команд. Можно, конечно, почитать умные книжки на эту тему. Однако в образовательных целях можно воспользоваться бесплатной программой с набором готовых контекстных команд. Называется она Send To Toys и находится по адресу http://www.gabrieleponti.com/software. Многие из них, такие как передача имени файла и его пути в буфер обмена, полезны и сами по себе — но еще больше как наглядное пособие для составления собственных команд контекстного меню.


Последний аргумент: Regedit


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

Далее выберите команду Start > Run (Пуск > Выполнить), введите regedit и нажмите Enter. На левой панели открывшегося окна найдите элемент HKEY_CLASSES_ROOT (вверху) и дважды щелкните на нем. В этом ключе системного реестра хранятся данные о типах файлов, в том числе и об ассоциированных с ними контекстных меню.

Для того чтобы удалить команду из контекстного меню папки, раскройте на левой панели ветвь HKEY_CLASSES_ROOT\Directory\shell и дважды щелкните на элементе shell, чтобы стали видны дополнительные ключи (некоторые компьютеры могут принадлежать ключу shellex). Каждый такой ключ соответствует одной команде контекстного меню. Правда, встроенных команд Windows здесь нет — их удалить нельзя. Но команды, добавленные внешними приложениями, полностью в нашей власти.

На всякий случай создайте резервную копию этой части реестра — вдруг вы потом захотите восстановить все, как было, или просто ошибетесь? Для этого выделите на левой панели ключ shell и выберите команду Registry > Export Registry File or File > Export Registry File (Реестр > Экспортировать файл реестра или файл > Экспортировать файл реестра). Выберите место, где будет храниться резервная копия (не беспокойтесь — она не займет много места), присвойте файлу имя и проследите, чтобы был выбран режим Selected branch (Выделенная ветвь). Щелкните на кнопке Save (Сохранить) и выберите ключ, соответствующий той команде меню, которую вы хотите удалить.

Например, для того чтобы удалить команду Browse with ACDSee, создаваемую программой просмотра изображений ACDSee, выберите ключ ACDSee и нажмите клавишу Delete или щелкните на нем правой кнопкой мыши и выберите команду Delete (Удалить). После этого выберите File > Exit (Файл > Выход), чтобы закрыть редактор реестра. Когда вы в следующий раз щелкнете правой кнопкой мыши на папке, этой команды в меню уже не будет. А на случай если позже вам захочется вернуть ее на место, найдите созданный вами файл с резервной копией ветви реестра, щелкните на нем правой кнопкой мыши и выберите команду Merge (Присоединить). Для того чтобы запустить процедуру возврата этой ветви в реестр, щелкните на кнопке Yes (Да) и затем на кнопке OK.



Удаление команды контекстного меню из системного реестра


Некоторые команды контекстного меню входят не в Directory, а в раздел Folder — точнее, в подразделы HKEY_CLASSES_ROOT\Folder\shell и HKEY_CLASSES_ROOT\Folder\shellex. Например, так можно удалить из контекстного меню команду проверки файла антивирусом Касперского (предварительно создав резервную копию ветви).

Для удаления команд контекстного меню для других типов файлов выполняется аналогичная процедура. К сожалению, не всегда просто найти ключ реестра для нужного типа файла. Один из способов это сделать — открыть Windows Explorer (Проводник) или окно любой папки, выделить файл соответствующего типа и воспользоваться комбинацией Shift+F10, чтобы открылось контекстное меню файла. Затем вернуться в Registry Editor, развернуть ветвь HKEY_CLASSES_ROOT, выбрать команду Edit > Find (Правка > Найти) и ввести название команды, которую нужно удалить. При этом проследите, чтобы в разделе Look at (Искать в) был выбран режим Data (Данные). Щелкните на кнопке Find Next. Если повезет, вы найдете команду, в ключе которой есть введенный вами текст. В ключах типов файлов обычно присутствуют их расширения — например, ключ для файлов с расширением TXT называется txtfile. Как и в предыдущих случаях, экспортируйте родительский ключ (такой как shell) для всех удаляемых ключей (на тот случай, если вы ошибетесь и захотите восстановить все, как было), затем выделите ключ, который хотите удалить, и нажмите клавишу Delete.



Поиск ключа в системном реестре: возможно, вам повезет, и вы найдете то, что нужно


Некоторые команды присутствуют в контекстных меню нескольких типов файлов. Для удаления таких команд нужно открыть в редакторе системного реестра ключ HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers, выбрать команду Registry > Export Registry File (Реестр > Экспортировать файл реестра) или File > Export Registry File (Файл > Экспортировать файл реестра), чтобы создать резервную копию этой ветви, и найти в ней ключи, соответствующие командам меню, которые вы хотите удалить. Например, для того чтобы удалить команды, создаваемые при установке Adobe Acrobat 6 для многих типов файлов, выберите ключ Adobe.Acrobat.ContextMenu и нажмите клавишу Delete или щелкните правой кнопкой мыши на этом ключе и выберите команду Delete (Удалить).


А нужно ли?..


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








Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх