Partager via


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

Définit le chemin relatif de l’objet de lien Shell.

Syntaxe

HRESULT SetRelativePath(
  LPCSTR pszPathRel,
  DWORD  dwReserved
);

Paramètres

pszPathRel

Type : LPCTSTR

Adresse d’une mémoire tampon qui contient le chemin complet du fichier de raccourcis, par rapport à laquelle la résolution du 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 lien à trouver sa cible en fonction d’un préfixe de chemin d’accès commun entre la cible et le chemin relatif. Pour faciliter le processus de résolution, les clients doivent définir le chemin d’accès relatif dans le cadre du processus de création de lien.

Exemples

Examinez le cas suivant :

  • Vous avez un lien : c :\MyLink.lnk.
  • La cible du 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 d’accès relatif, et le code De résolution trouve 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