IShellLinkW::SetRelativePath 方法 (shobjidl_core.h)

设置 Shell 链接对象的相对路径。

语法

HRESULT SetRelativePath(
  LPCWSTR pszPathRel,
  DWORD   dwReserved
);

参数

pszPathRel

类型: LPCTSTR

缓冲区的地址,该缓冲区包含快捷方式文件的完全限定路径,相对于该路径执行快捷方式解析。 它应该是文件名,而不是文件夹名称。

dwReserved

类型:DWORD

保留。 将此参数设置为零。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

当相对链接随其目标一起移动时,客户端通常会定义一个相对链接,从而导致绝对路径无效。 SetRelativePath 方法可用于帮助链接解析过程根据目标与相对路径之间的通用路径前缀查找其目标。 为了帮助解决过程,客户端应在链接创建过程中设置相对路径。

示例

假设出现了下面这种情景:

  • 你有一个链接:c:\MyLink.lnk。
  • 链接目标 c:\MyDocs\MyFile.txt。
  • 你想要移动链接并将 MyDocs\MyFile.txt 到 d:\。
可以通过在保存快捷方式之前使用相对路径创建原始链接来帮助解决过程。
::SetRelativePath("c:\MyLink.lnk", NULL);

在解析快捷方式之前,请设置一个新的相对路径,解析代码将在其新位置找到该文件。

::SetRelativePath("d:\MyLink.lnk", NULL);

要求

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

另请参阅

IShellLink

IShellLink::Resolve

IShellLink::SetIDList

IShellLink::SetPath

IShellLinkA

IShellLinkW