IResolveShellLink::ResolveShellLink 方法 (shobjidl_core.h)
请求文件夹对象解析 Shell 链接。
语法
HRESULT ResolveShellLink(
[in] IUnknown *punkLink,
[in] HWND hwnd,
[in] DWORD fFlags
);
参数
[in] punkLink
类型: IUnknown*
指向对象的 IShellLink 接口的指针。 然后,可以查询此接口以确定链接的内容。
[in] hwnd
类型:HWND
Shell 用作对话框父级的窗口的句柄。 如果在解析链接时需要提示用户输入详细信息,Shell 将显示对话框。
[in] fFlags
类型:DWORD
操作标志。 此参数可以是以下值的组合。
SLR_INVOKE_MSI
调用 Windows Installer。
SLR_NOLINKINFO
禁用分布式链接跟踪。 默认情况下,分布式链接跟踪基于卷名称跟踪多个设备上的可移动媒体。 它还使用 UNC 路径跟踪其驱动器号已更改的远程文件系统。 设置 SLR_NOLINKINFO 将禁用这两种类型的跟踪。
SLR_NO_UI
如果无法解析链接,则不显示对话框。 设置 SLR_NO_UI 后, fFlags 的高序字会指定超时持续时间(以毫秒为单位)。 如果在超时持续时间内无法解析链接,函数将返回 。 如果高序字设置为零,则超时持续时间默认为 3000 毫秒 (3 秒) 。
SLR_NOUPDATE
请勿更新链接信息。
SLR_NOSEARCH
不要执行搜索启发。
SLR_NOTRACK
请勿使用分布式链接跟踪。
SLR_UPDATE
如果链接对象已更改,请更新其路径和标识符列表。 如果设置了 SLR_UPDATE ,则无需调用 IPersistFile::IsDirty 来确定链接对象是否已更改。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
此方法应尝试查找 Shell 链接的目标,即使目标已被移动或重命名。
要求
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
DLL | Shell32.dll (5.0 或更高版本) |