ICustomDestinationList::AddUserTasks 方法 (shobjidl_core.h)
指定要包含在自定义跳转列表 的“任务” 类别中的项。
语法
HRESULT AddUserTasks(
[in] IObjectArray *poa
);
参数
[in] poa
类型: IObjectArray*
指向 IObjectArray 的 指针,表示一个或多个 IShellLink (或更罕见的 IShellItem) 表示任务的对象。
返回值
类型: HRESULT
如果成功,则返回 S_OK,否则返回错误值。
注解
在调用此方法之前,必须调用 ICustomDestinationList::BeginList 。
默认情况下, “任务” 类别标头始终显示在列表中,除非类别为空。 无法更改此标头文本。 它以用户所选的语言显示。
尽管“任务”类别始终显示为跳转列表中的最后一个类别,但优先于列表中所有其他类别。 填充此列表,然后将剩余空间分配给其他类别。 与其他类别不同,用户无法删除或固定 “任务” 类别中的项。 应用程序必须将此类别中任务用户的值与其他类别所需的空间相平衡。
任务应作为一个整体应用于应用程序;它们并非特定于单个窗口或文档。 对于这些更精细的上下文任务,应用程序可以通过 缩略图工具栏提供这些任务。
通过 poa 指向的 IObjectArray 提供的 IShellLink 实例必须提供以下内容:
- 指向项标识符列表的指针 (PIDL) (SetIDList) 或目标路径 (SetPath 或 SetRelativePath)
- SetArguments) (命令行参数
- SetIconLocation) (图标位置
(可选)可以设置 SetDescription) (说明字段,为跳转列表中的项提供自定义工具提示。
任务列表还可以包含分隔符。 创建这些方法包括一个空白的 IShellLink (这是参数列表要求) 的单个例外,并通过 IShellLink 对象的 IPropertyStore 接口将其 System.AppUserModel.IsDestListSeparator 属性设置为 TRUE。 将忽略 IShellLink 中的其他任何值。 分隔符不会占用列表中的全部空间,并且不计入列表中的项数。 如果两个分隔符之间没有提供任何项,则不显示其中一个分隔符。 也会忽略列表开头或末尾的分隔符。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
Library | Shell32.lib |
DLL | Shell32.dll (版本 6.1 或更高版本) |
另请参阅
ICustomDestinationList::AppendCategory