IActiveDesktop::AddDesktopItemWithUI 方法 (shlobj_core.h)

在显示确认添加桌面项的用户界面、验证安全区域权限并询问用户是否要创建订阅后,将桌面项添加到活动桌面。

语法

HRESULT AddDesktopItemWithUI(
  [in, optional] HWND        hwnd,
  [in]           LPCOMPONENT pcomp,
                 DWORD       dwReserved
);

参数

[in, optional] hwnd

类型:HWND

父窗口的句柄。 如果 为 NULL,则根据相应的安全区域权限添加桌面项而不显示任何用户界面。 有关详细信息,请参阅 关于 URL 安全区域

[in] pcomp

类型: LPCOMPONENT

包含要添加的桌面项详细信息的 COMPONENT 结构的地址。

dwReserved

类型:DWORD

无符号长整数值,包含控制如何添加桌面项的标志。 可以是以下值之一。

DTI_ADDUI_DEFAULT

执行默认操作。 与使用零相同。

DTI_ADDUI_DISPSUBWIZARD

激活订阅向导以允许用户订阅此桌面项。

DTI_ADDUI_POSITIONITEM

指示系统查看传递给 COMPONENT 结构的 cpPos 成员的 COMPPOS 结构,以确保值在合理的限制范围内。 为 Internet Explorer 5 添加了此值。

返回值

类型: HRESULT

返回以下值之一。

返回代码 说明
E_FAIL
无法添加桌面项,或者活动桌面上已存在桌面项的实例。
E_INVAILDARG
一个或多个参数无效。
S_OK
如果已设置 ADDURL_SILENT 标志,则表示已成功添加桌面项,或者已存在于活动桌面上。 否则,已成功添加桌面项。

注解

此方法创建 活动桌面 的第二个实例以添加桌面项,因此桌面项不会显示在当前实例中。 应用程序必须在此 IActiveDesktop 接口上调用 IUnknown::Release 方法,然后使用 CoCreateInstance 函数检索具有新添加组件的 Active Desktop 对象。

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h
DLL Shell32.dll (版本 4.71 或更高版本)

另请参阅

IActiveDesktop

使用活动桌面对象