IShellLinkW::SetRelativePath メソッド (shobjidl_core.h)
シェル リンク オブジェクトへの相対パスを設定します。
構文
HRESULT SetRelativePath(
LPCWSTR pszPathRel,
DWORD dwReserved
);
パラメーター
pszPathRel
型: LPCTSTR
ショートカットの解決を実行する相対パスを表す、ショートカット ファイルの完全修飾パスを含むバッファーのアドレス。 フォルダー名ではなく、ファイル名にする必要があります。
dwReserved
型: DWORD
予約済み。 このパラメーターを 0 に設定します。
戻り値
種類: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
注釈
クライアントは、通常、相対リンクがターゲットと共に移動される可能性がある場合に定義され、絶対パスが無効になります。 SetRelativePath メソッドは、リンク解決プロセスがターゲットと相対パスの間の共通パス プレフィックスに基づいてターゲットを見つけるのに役立ちます。 解決プロセスを支援するために、クライアントはリンク作成プロセスの一部として相対パスを設定する必要があります。
例
以下のシナリオについて考えてみます。
- リンクがあります: c:\MyLink.lnk。
- リンク 先が c:\MyDocs\MyFile.txt。
- リンクを移動し、MyDocs\MyFile.txt を d:\ に移動します。
::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 以降) |
こちらもご覧ください
IShellLinkA
IShellLinkW