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

指定应用程序的唯一应用程序用户模型 ID (AppUserModelID) ,其任务栏按钮将保存通过此接口的方法生成的自定义跳转列表。 此方法是可选的。

注解

何时实现

此接口的实现在 Windows 中作为CLSID_DestinationList提供。 此接口不由第三方实现。

何时使用

跳转Lists同时包含目标和任务列表。
  • 目标 是基于个人使用情况显示在 “最近”、“ 频繁”或“自定义”类别中的项。 目标可以是文件、文件夹、网站或其他基于内容的项目,但不一定是文件支持的。 目的地可以视为事物或名词。 目标可由用户固定或从跳转列表中删除。 它们通常由 IShellItem 对象表示,但它们也可以是 IShellLink 对象。
  • 任务 是在应用程序中执行的常见操作,适用于该应用程序的所有用户,而不考虑个人使用模式。 可将任务视为操作或谓词。 无法固定或删除任务。 它们由 IShellLink 对象表示。

任务栏为每个任务栏按钮提供跳转列表。 默认情况下,跳转列表包含“ 最近” 类别,该类别通过 SHAddToRecentDocs 或通用文件对话框为基于文件的应用程序自动填充。 若要将 “最近” 类别替换为 “常用 ”类别,或者定义、添加和填充其自己的自定义类别,应用程序必须调用此接口的方法。 应用程序还可以根据应用程序的体系结构和预期用途提供自己的任务。

注意 应用程序必须是某个文件类型的注册处理程序,该类型的项才能显示在其跳转列表中。 但是,它不需要是该文件类型的默认处理程序。
 
自定义跳转列表旨在根据应用程序以前的使用情况或通过指示某个项对用户很重要的操作(例如用户将项目添加到收藏夹列表)来显示应用程序认为重要的内容。

应用程序必须调用此对象才能向任务栏 UI 提供自定义跳转列表。 系统从不向应用程序查询信息。

当应用程序提供自定义跳转列表时,它将承担该列表的某些责任。 必须以与跳转列表的预期用途一致的方式填充自定义类别。 如果列表中的项已被删除,则必须检查其有效性或正常失败。 如果用户从列表中删除项,则必须遵循该删除操作。

从更改现有列表中元素的意义上说,自定义跳转列表永远不会真正更新。 而是将旧列表替换为新列表。

ICustomDestinationList 方法调用以生成和显示自定义跳转列表的基本顺序如下:

  1. 仅当应用程序提供自己的 AppUserModelID) 时,才需要 SetAppID (
  2. BeginList
  3. AppendCategoryAppendKnownCategoryAddUserTasks 或这三种方法的任意组合。
  4. CommitList

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)

另请参阅

任务栏扩展