Explorateur windows

Description

Salut, je sais que ce code est present deja sur le site.

Ma version a cependant une particularite : sa rapidité, et la fidelite de sa reproduction.

je sais que pour l'instant, il n'y a qu'un treeview, mais quand même...

je n'utilises pas les FSO, ni les API "classiques" (FindFirstFile , FindClose...) sur les fichiers, je tapes directement dans l'architecture vue dans le vrai explorateur, en cherchant le pointeur vers le bureau, et en parcourant la liste qui y est rattachée, et ainsi de suite.

pour les icones, même combat, je rattache le controle a l'imagelist du systeme : pas de probleme d'extraction des icones, ni de doublons... Je n'ai qu'a recuperer l'indice de l'icone pour un fichier donné au moment ou j'ajoutes un noeud.

j'ai enormement fouillé MSDN, et ai trouvé une mine d'or : Shell32.dll
ca me permet même d'affirmer, qu'il serait pas impossible que mon code devienne un explorateur 100% identique, branché sur les menus systemes.....

ce code est niveau 3 car je parle de pointeurs, d'interface, d'allocation dynamique de memoire ( et oui, on est bien en VB6) et de subclassing. J'ai pu en effet trouver un .Tlb ( mais si, les fichiers qu'on ajoute dans les references !) qui donne acces a deux interfaces d'importance ici : IMalloc et IShellFolder.

j'ai passé 24heure de coding insoutenables, a essayer d'appliquer ce que je trouvais(ce que je comprennais ??) sur MSDN, sans jamais pouvoir tester (Avant de faire rouler une voiture, il faut avoir construit un certains nombre d'elements....) et finalement, le bureau est timidement apparu. puis est arrivé son contenu, et toujours pas d'icones !!!! et voila, au bout de trois jours de neurones en fusion, de crises de nerfs, de tympans percés (je bosse avec la musique a fond, ca m'aide a me concentrer......) le contenu est complet !!!

il y a encore surement des bugs, mais bon, j'etais trop content de voir enfin mon code fonctionner, je voulais le partager :)

Une derniere chose, j'ai codé certaines fonctions, m'apercevant sur MSDN que celles-ci existent dans Shell32.dll.
pas de regret, ces api n'existent qu'a partir de Windows 2000 , mon code fontionne, lui sur 98....
et quand j'ai trouvé une API compatible sur 98, impossible de la voir fonctionner.... celle-ci, je l'ai recodée aussi !!
Vive la compatibilité, et voila !! ce code fonctionne (en principe) sous 98.....

je vous laisse vous amuser, a grand coup de neurones

Source / Exemple :


' - Les elements sont dorénavant triés comme sous l'explorateur

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.