IShellLinkA::SetRelativePath 方法 (shobjidl_core.h)

設定Shell連結對象的相對路徑。

語法

HRESULT SetRelativePath(
  LPCSTR pszPathRel,
  DWORD  dwReserved
);

參數

pszPathRel

類型: LPCTSTR

緩衝區的位址,其中包含快捷方式檔案的完整路徑,相對於應該執行快捷方式解析的路徑。 它應該是檔名,而不是資料夾名稱。

dwReserved

類型: DWORD

保留的。 將此參數設定為零。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

用戶端通常會在其目標一起移動時定義相對連結,導致絕對路徑變成無效。 SetRelativePath 方法可用來協助連結解析程式根據目標與相對路徑之間的通用路徑前置詞來尋找其目標。 為了協助解決程式,客戶端應該將相對路徑設定為連結建立程式的一部分。

範例

請考慮下列案例:

  • 您有一個連結:c:\MyLink.lnk。
  • 鏈接目標 c:\MyDocs\MyFile.txt。
  • 您想要將連結移至 d:\MyDocs\MyFile.txt。
您可以在儲存快捷方式之前,使用相對路徑建立原始連結,以協助解決程式。
::SetRelativePath("c:\MyLink.lnk", NULL);

在解析快捷方式之前,請設定新的相對路徑,而 Resolve 程式代碼會在其新位置中找到檔案。

::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