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


Интерфейс ICustomDestinationList (shobjidl_core.h)

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

Наследование

Интерфейс ICustomDestinationList наследуется от интерфейса IUnknown . ICustomDestinationList также имеет следующие типы элементов:

Методы

Интерфейс ICustomDestinationList содержит следующие методы.

 
ICustomDestinationList::AbortList

Прекращает сеанс создания списка переходов, инициированный ICustomDestinationList::BeginList, без фиксации каких-либо изменений.
ICustomDestinationList::AddUserTasks

Указывает элементы, которые нужно включить в категорию Задачи настраиваемого списка переходов.
ICustomDestinationList::AppendCategory

Определяет пользовательскую категорию и содержащиеся в ней назначения для включения в настраиваемый список переходов.
ICustomDestinationList::AppendKnownCategory

Указывает, что категория "Часто" или "Последние" должна быть включена в настраиваемый список переходов.
ICustomDestinationList::BeginList

Инициирует сеанс сборки для настраиваемого списка переходов.
ICustomDestinationList::CommitList

Объявляет, что список переходов, инициированный вызовом ICustomDestinationList::BeginList, завершен и готов к отображению.
ICustomDestinationList::D eleteList

Удаляет пользовательский список переходов для указанного приложения.
ICustomDestinationList::GetRemovedDestinations

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

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

Комментарии

Когда следует реализовать

Реализация этого интерфейса предоставляется в Windows как CLSID_DestinationList. Этот интерфейс не реализуется сторонними производителями.

Когда следует использовать

Переходные Списки содержат как целевые, так и списки задач.
  • Назначения — это элементы, которые отображаются в категориях "Последние", "Частые" или "Пользовательские" в зависимости от использования пользователем. Назначения могут быть файлами, папками, веб-сайтами или другими элементами на основе содержимого, но не обязательно являются файлами. Назначения можно рассматривать как вещи или существительные. Назначения могут быть закреплены или удалены из списка переходов пользователем. Как правило, они представлены объектами IShellItem , но также могут быть объектами IShellLink .
  • Задачи — это стандартные действия, выполняемые в приложении, которые применяются ко всем пользователям этого приложения независимо от шаблонов использования отдельных пользователей. Задачи можно рассматривать как действия или глаголы. Задачи нельзя закрепить или удалить. Они представлены объектами IShellLink .

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

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

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

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

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

Основная последовательность вызовов метода ICustomDestinationList для сборки и отображения настраиваемого списка переходов выглядит следующим образом:

  1. SetAppID (требуется только в том случае, если приложение предоставляет собственный Идентификатор AppUserModelID)
  2. BeginList
  3. AppendCategory, AppendKnownCategory, AddUserTasks или любое сочетание этих трех методов.
  4. CommitList

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)

См. также раздел

Расширения панели задач