Partager via


Méthode IFileDialog ::SetFolder (shobjidl_core.h)

Définit un dossier qui est toujours sélectionné lorsque la boîte de dialogue est ouverte, quelle que soit l’action utilisateur précédente.

Syntaxe

HRESULT SetFolder(
  [in] IShellItem *psi
);

Paramètres

[in] psi

Type : IShellItem*

Pointeur vers l’interface qui représente le dossier.

Valeur retournée

Type : HRESULT

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

Remarques

Ce dossier remplace tout dossier « le plus récemment utilisé ». Si cette méthode est appelée pendant l’affichage de la boîte de dialogue, la boîte de dialogue accède au dossier spécifié.

En général, nous ne recommandons pas l’utilisation de cette méthode. Si vous appelez SetFolder avant d’afficher la boîte de dialogue, l’emplacement le plus récent sur lequel l’utilisateur a enregistré ou ouvert n’est pas affiché. Sauf s’il existe une raison très spécifique à ce comportement, il ne s’agit pas d’une expérience utilisateur bonne ou attendue et doit donc être évitée. Dans presque toutes les instances, IFileDialog ::SetDefaultFolder est la meilleure méthode.

À partir de Windows 7, si le chemin d’accès du dossier spécifié via psi est le chemin d’accès par défaut d’un dossier connu, le chemin d’accès actuel du dossier connu est utilisé dans la boîte de dialogue. Ce chemin d’accès peut ne pas être identique au chemin spécifié dans psi ; pour instance, si le dossier connu a été redirigé. Si le dossier connu est une bibliothèque (dossiers virtuels Documents, Musique, Images et Vidéos), le chemin d’accès de la bibliothèque est utilisé dans la boîte de dialogue. Si la bibliothèque spécifiée est masquée (comme c’est le cas par défaut à partir de Windows 8.1), l’emplacement d’enregistrement par défaut de la bibliothèque est utilisé dans la boîte de dialogue, comme le dossier Documents Microsoft OneDrive pour la bibliothèque de documents. En raison de ces mappages, l’emplacement du dossier utilisé dans la boîte de dialogue peut ne pas être exactement celui que vous avez spécifié lorsque vous avez appelé cette méthode.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (inclure Shobjidl.h)