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 或更高版本) |
另请参阅
IShellLinkA
IShellLinkW