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
- Utilisation de dossiers de système de fichiers comme points de jonction
- Ouverture d’une vue d’une extension d’espace de noms
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.