Je ne sais pas si quelqu'un connait ce sujet, alors je m'en vais expliquer les choses en détail
Les Namespace extensions permettent de créer des extensions à l'explorer...mon but est ici de créer un dossier qui contiendra des fichiers virtuels (probablement hébergés sur un site distant) que je veux rendre accessible localement.
Pour ce faire, j'ai créé un objet COM enregistré dans
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\Namespace\
il apparait alors dans le "Poste de Travail" sous la forme d'un Dossier nommé MyFolder.
Quand je clique sur mon dossier, l'objet est initialisé via une interface IShellFolder et la méthode EnumObjects est utilisée pour obtenir son contenu sous forme de PItemIDList.
Tout ceci est assez clairement expliqué chez Microsoft, et je me suis pas mal inspiré de cet article.
jusque là tout va bien. Mon objet retourne un fichier "readme.txt" qui apparait bien dans mon dossier, il apparait même correctement quand je lance NotePad et que je fais un Fichier/Ouvrir.
Sauf que maintenant, j'aimerai bien l'ouvrir ce fichier !
Comme il n'a pas d'existence physique, je m'attends à ce que Windows me demande via une interface ou une autre un moyen d'accès au contenu que je lui retournerait. Mais j'ai beau fouiller le net et débuguer les appels à mon objet COM, je ne trouve pas par quel mécanisme NotePad est supposé le faire![]()
Partager