SHBrowseForFolder ne fait rien

Résolu
letscode Messages postés 7 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 19 janvier 2008 - 30 déc. 2007 à 16:08
letscode Messages postés 7 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 19 janvier 2008 - 31 déc. 2007 à 13:06
Bonjour à tous !!!

Je suis nouveau sur ce forum et pas beaucoup plus vieux dans le monde de la programmation.
Comme vous pouvez vous en douter j'aurais besoin de votre aide.

En fait pour un projet en api32 je dois réaliser une fonction qui scan une arborescence choisie pour y lister un certain type fixé de fichiers.
Comme c'est à inclure ensuite dans un plus gros projet, je souhaiterais ne pas créer de fenetre et coder uniquement la partie fonctionnelle.
Seulement voilà, je viens de commencer et ca fait au moins deux heures que j'essaie de de faire en sorte qu'une simple boite de sélection de dossier s'ouvre mais ca ne fonctionne pas. J'utilise SHBrowseForFolder mais à l'execution ca ne m'affiche rien alors que ca compile.
Ca doit etre un problème basic mais je sèche.

Pour ceux qui voudrons m'aider je vous file un lien vers mon projet Visual Studio 2005. J'ai enlevé un fichier ncb qui pèse lourd et qui apparemment est regénéré sans problème.
** LIEN DU PROJET **

Merci d'avance. Aidez-moi à avancer svp.

@+
A voir également:

3 réponses

letscode Messages postés 7 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 19 janvier 2008
30 déc. 2007 à 16:35
Bon me servant de ce que j'ai trouvé dans ce code ca fonctionne mais je ne comprends pas ce que j'avais de mauvais.
Merci en tous cas, à bientot (j'aurais surement d'autres questions lol).

http://www.cppfrance.com/infomsg_SHBROWSEFORFOLDER_92819.aspx

@+
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 déc. 2007 à 17:38
Voila encore un lien qui m'avait échappé et que je n'avais donc pas corrigé.
Bizarre qu'on aille toujours prendre ces exemples non corrigés... Je le fais pourtant à longueur d'année.

pidl = SHBrowseForFolder(&bi);
SI pidl == 0 ALORS STOP car ensuite il faut libérer la mémoire !!!
if(!pid) return; // OU AUTRE MODE DE SORTIE MAIS PAS CE QUI SUIT
if(SHGetPathFromIDList(pidl, folder)) {
  // TA RECUP NOM DE DOSSIER ICI
  / ...
}
CoTaskMemFree(pidl); FINIE LA FUITE MEMOIRE, TRES IMPORTANT

ciao...
BruNews, MVP VC++
3
letscode Messages postés 7 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 19 janvier 2008
31 déc. 2007 à 13:06
Ok, c'est noté.
Merci Brunews.
0
Rejoignez-nous