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


Метод ICustomDestinationList::AddUserTasks (shobjidl_core.h)

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

Синтаксис

HRESULT AddUserTasks(
  [in] IObjectArray *poa
);

Параметры

[in] poa

Тип: IObjectArray*

Указатель на объект IObjectArray , представляющий один или несколько объектов IShellLink (или, реже, IShellItem), представляющих задачи.

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

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения или значение ошибки в противном случае.

Комментарии

Перед вызовом этого метода необходимо вызвать ICustomDestinationList::BeginList .

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

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

Задачи должны применяться к приложению в целом; они не предназначены для отдельного окна или документа. Для этих более детализированных контекстных задач приложение может предоставить их с помощью панели инструментов эскизов.

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

Экземпляры IShellLink, предоставляемые через IObjectArray, на который указывает poa, должны предоставлять следующее:

  • Указатель на список идентификаторов элементов (PIDL) (SetIDList) или целевой путь (SetPath или SetRelativePath)
  • Аргументы командной строки (SetArguments)
  • Расположение значка (SetIconLocation)
Отображаемое имя должно задаваться с помощью свойства System.Title (PKEY_Title) элемента. Свойство может содержать отображаемое имя напрямую или быть косвенным строковым представлением, например "@shell32.dll,-1324", для использования хранимой строки. Непрямая строка позволяет отображать имя элемента на выбранном пользователем языке.

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

Список задач также может содержать разделители. Они создаются путем включения пустого элемента IShellLink (это единственное исключение из требования к списку аргументов) и задания свойству System.AppUserModel.IsDestListSeparatorзначения TRUE через интерфейс IPropertyStore объекта IShellLink. Все остальные значения в IShellLink будут игнорироваться. Разделители не занимают полное пространство в списке и не учитываются в количестве элементов в списке. Если два разделителя не содержат элементов между ними, один из разделителей не будет отображаться. Разделители в начале или конце списка также игнорируются.

Требования

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

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

ICustomDestinationList

ICustomDestinationList::AppendCategory

ICustomDestinationList::AppendKnownCategory

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