Partager via


Spécification de l’emplacement d’une extension d’espace de noms

La racine d’une extension d’espace de noms est normalement affichée par Windows Explorer en tant que dossier dans les affichages arborescence et dossier. Pour que Windows Explorer affiche les fichiers et sous-dossiers de votre extension, vous devez spécifier l’emplacement du dossier racine dans la hiérarchie de l’espace de noms Shell. Cet emplacement est appelé point de jonction.

Utilisation de dossiers virtuels comme points de jonction

La façon la plus simple de définir le point de jonction d’une extension consiste à faire du dossier racine un sous-dossier d’un dossier virtuel système. Ce type de point de jonction est appelé point de jonction virtuel. Les dossiers Bureau et Poste de travail sont les emplacements classiques des points de jonction virtuels, mais vous pouvez également définir un point de jonction virtuel sur un ordinateur distant ou sous les dossiers Mes emplacements réseau, Internet Explorer et Panneau de configuration.

Pour définir un point de jonction virtuel, créez une sous-clé de la clé qui représente le dossier virtuel approprié et nommez-le avec la forme de chaîne de l’identificateur de classe (CLSID) de votre extension. Le CLSID inscrit apparaît comme suit.

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  Virtual Folder Name
                     NameSpace
                        {Extension CLSID}
                           (Default) = Junction Point Name

Virtual Folder Name est l’une des sous-clés du tableau suivant.

Emplacement Nom du dossier virtuel
Control panel ControlPanel
Desktop (Expérience utilisateur) Bureau
Réseau entier NetworkNeighborhood\EntireNetwork
Poste de travail MyComputer
Mes emplacements réseau NetworkNeighborhood
Ordinateur distant RemoteComputer
Fichiers utilisateurs UsersFiles

 

Les extensions distantes doivent être initialisées avec IRemoteComputer.

Utilisation de dossiers de système de fichiers comme points de jonction

Il existe deux façons de définir des dossiers de système de fichiers en tant que points de jonction. L’approche la plus simple consiste à créer un dossier à l’emplacement approprié et à ajouter un point au nom du dossier, suivi de la forme de chaîne du CLSID de votre extension. Seul le nom du dossier est visible dans Windows Explorer. L’exemple suivant crée un point de jonction avec le nom complet MyFolder.

MyFolder.{Extension CLSID}

Vous pouvez également définir un dossier nommé de manière conventionnelle en tant que point de jonction en :

  • Rendre le dossier en lecture seule.
  • Faire du dossier un dossier système en appelant PathMakeSystemFolder.
  • Placer un fichier Desktop.ini masqué dans le dossier qui inclut le CLSID de l’extension.

Desktop.ini est un fichier texte standard qui peut être ajouté à n’importe quel dossier pour personnaliser certains aspects du comportement du dossier. Pour une présentation générale de l’utilisation de ce fichier, consultez How to Customize Folders with Desktop.ini. Pour définir un dossier en tant que point de jonction, le [. La section ShellClassInfo] de Desktop.ini doit contenir le CLSID de l’extension comme suit :

[.ShellClassInfo]
CLSID={Extension CLSID}

Ouverture d’une vue d’une extension d’espace de noms

Lorsqu’un utilisateur accède à un point de jonction, Windows Explorer crée automatiquement une vue du dossier racine. Vous pouvez également créer une vue en lançant explicitement Explorer.exe avec le CLSID de l’extension comme argument. Vous pouvez, par instance, utiliser cette approche pour lancer une vue d’une extension à partir d’un menu contextuel ou d’un raccourci. Par exemple, pour lancer une vue de MyExtension qui inclut une arborescence, vous pouvez utiliser la chaîne de commande suivante.

%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID}

Une autre chaîne de commande peut être utilisée pour lancer une vue d’un objet dans l’extension. Cette fonctionnalité serait utile, pour instance, pour une extension qui utilise un affichage de dossiers pour permettre aux utilisateurs d’afficher le contenu d’un des nombreux fichiers compressés.

%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID},objectname

Le paramètre objectname est le nom de l’objet à afficher. Windows Explorer convertit le nom en piDL correspondant et transmet le PIDL à la méthode IPersistFolder::Initialize du nouvel objet folder.

Notes

La chaîne CLSID doit être précédée d’une paire de deux-points (::) ou la commande échoue. L’indicateur slash-e (/e) utilisé dans les deux exemples de lignes de commande indiqués précédemment indique à Windows Explorer d’afficher une arborescence. L’indicateur doit être séparé des deux-points par une virgule. Si vous ne souhaitez pas d’arborescence, omettez l’indicateur /e et la virgule.