IShellLinkA::SetRelativePath メソッド (shobjidl_core.h)
シェル リンク オブジェクトへの相対パスを設定します。
構文
HRESULT SetRelativePath(
LPCSTR 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