Partager via


Méthode IShellLinkW ::SetRelativePath (shobjidl_core.h)

Définit le chemin d’accès relatif à l’objet de liaison Shell.

Syntaxe

HRESULT SetRelativePath(
  LPCWSTR pszPathRel,
  DWORD   dwReserved
);

Paramètres

pszPathRel

Type : LPCTSTR

Adresse d’une mémoire tampon qui contient le chemin d’accès complet du fichier de raccourcis, par rapport à laquelle la résolution de raccourci doit être effectuée. Il doit s’agir d’un nom de fichier, et non d’un nom de dossier.

dwReserved

Type : DWORD

Réservé. Définissez ce paramètre sur zéro.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Les clients définissent généralement un lien relatif lorsqu’il peut être déplacé avec sa cible, ce qui rend le chemin absolu non valide. La méthode SetRelativePath peut être utilisée pour aider le processus de résolution de liens à trouver sa cible en fonction d’un préfixe de chemin commun entre la cible et le chemin relatif. Pour faciliter le processus de résolution, les clients doivent définir le chemin relatif dans le cadre du processus de création de liens.

Exemples

Examinez le cas suivant :

  • Vous avez un lien : c :\MyLink.lnk.
  • La cible de lien est c:\MyDocs\MyFile.txt.
  • Vous souhaitez déplacer le lien et MyDocs\MyFile.txt vers d :\.
Vous pouvez aider le processus de résolution en créant le lien d’origine avec un chemin relatif avant l’enregistrement du raccourci.
::SetRelativePath("c:\MyLink.lnk", NULL);

Avant que le raccourci ne soit résolu, définissez un nouveau chemin relatif, et le code de résolution trouvera le fichier dans son nouvel emplacement.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h
DLL Shell32.dll (version 4.0 ou ultérieure)

Voir aussi

IShellLink

IShellLink ::Resolve

IShellLink ::SetIDList

IShellLink ::SetPath

IShellLinkA

IShellLinkW