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


Расширение ленты

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

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

  • Расширяемость не требуется. Примеры: копирование, вставка, удаление. Windows обрабатывает эти команды за вас.
  • Расширяемость в настоящее время не разрешена. Примеры: Zip, Закрыть сеанс и другие настраиваемые действия. Используйте контекстное меню, чтобы охватить эти сценарии.
  • Расширяемость встроена в само действие. Примеры: Поиск, Email, Печать, Создать элемент. Необходимо зарегистрироваться для этих команд, чтобы включить формат приложения или файла на ленте .

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

Согласие на ленту

Чтобы включить ленту, в реализации IShellFolder2 необходимо указать EP_Ribbon в IExplorerPaneVisibility::GetPaneState и вернуть EPS_FORCE | EPS_DEFAULT_ON.

Расширение ленты для расширений файлов

Эти кнопки ленты расширяемы в зависимости от расширений файлов:

  • Извлечь все
  • Подключение | Запись (ISO)
  • Воспроизвести | Воспроизвести все | Добавить в список воспроизведения (глагол: Enqueue)
  • Open
  • Изменить
  • Свойства

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

Регистрация в качестве обработчика по умолчанию для ActionId

Сначала зарегистрируйте ProgId в соответствующем подразделе AssocActionId. Каждый подраздел AssocActionId представляет команду или действие, которые пользователи могут вызывать с ленты. В этом примере приложение регистрируется для Идентификатора действия ZipSelection, чтобы расширить кнопку "Извлечь все" на ленте.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         Explorer.AssocActionId.ZipSelection
            shell
               open
                  command
                     (Default) = %SystemRoot%\[Your App].exe
      Microsoft
         Windows
            CurrentVersion
               Your App Name
                  Capabilities
                     URL Protocol
                     FriendlyTypeName = @%SystemRoot%\explorer.exe,-1234

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