ICustomDestinationList::SetAppID 方法 (shobjidl_core.h)

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

语法

HRESULT SetAppID(
  [in] LPCWSTR pszAppID
);

参数

[in] pszAppID

类型: LPCWSTR

指向任务栏表示形式接收跳转列表的进程或应用程序的 AppUserModelID 的指针。

返回值

类型: HRESULT

如果成功,则返回S_OK,否则返回错误值,包括以下内容:

返回代码 说明
E_UNEXPECTED
此方法是在 ICustomDestinationList::BeginList 之后调用的。 列表生成过程已在使用特定的 AppUserModelID 运行,该 ID 由系统推断或通过调用 BeginList 之前通过对 SetAppID 的调用进行设置。 执行列表生成操作后,在调用 CommitListAbortList 之前,无法更改 AppUserModelID。

注解

如果应用程序具有显式的 AppUserModelID,则必须在调用 ICustomDestinationList::BeginListICustomDestinationList::GetRemovedDestinations 之前调用 SetAppID

通过对象的 SetAppID 方法指定 AppUserModelID 后,AppUserModelID 将保存在对象的生存期内,前提是该对象的另一次调用不会覆盖该 对象

某些应用程序不会声明显式 AppUserModelID,并且不应调用此方法。 在这种情况下,当调用 ICustomDestinationList::BeginListICustomDestinationList::GetRemovedDestinations 时,将推导出应用程序的标识。 但是,避免这些计算具有性能优势,因此建议提供自定义跳转Lists的应用程序使用显式 AppUserModelID

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
Library Shell32.lib
DLL Shell32.dll (6.1 或更高版本)

另请参阅

应用程序用户模型 ID (AppUserModelIDs)

ICustomDestinationList

SetCurrentProcessExplicitAppUserModelID

任务栏扩展