Поделиться через


Работа с расширениями оболочки

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

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

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

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

 

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

Обработчик Описание
обработчика столбцов Вызывается проводником Windows перед отображением вида "Список" папки. Он позволяет добавлять настраиваемые столбцы в представление сведений.
обработчика перехватчика Вызывается при перемещении, копировании, удалении или переименовании папки или объекта принтера. Он позволяет утвердить операцию или наложить на неё вето.
обработчик перетаскивания Вызывается при перетаскивании файла с помощью правой кнопки мыши. Он позволяет изменить отображаемое контекстное меню.
обработчик наложения значков Вызывается перед отображением значка файла. Он позволяет указать иконку наложения для значка файла.
обработчик поиска Вызывается для запуска поисковой системы. Она позволяет вам реализовать пользовательскую поисковую систему, доступную в меню Пуск или Проводнике Windows.

 

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