SHBrowseForFolder

cs_mindark Messages postés 21 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 27 janvier 2003 - 13 févr. 2002 à 22:00
cs_mindark Messages postés 21 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 27 janvier 2003 - 14 févr. 2002 à 12:01
Bonjour, qqn pourrait il me donner un exemple pour l'utilisation de SHBrowseForFolder..
J'ai regarde l'help sur les API, mais j'y comprends pas grand chose :)
Un tout petit exemple sivouplait !!

Merci d'avance
A voir également:

2 réponses

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
14 févr. 2002 à 07:16
BOOL BrowseForFolder(const HWND pHandle, char **pzBuffer)
{

BROWSEINFO bi;
ITEMIDLIST *pidl;
char folder[MAX_PATH];
BOOL bReturn = FALSE; // Renvoie FALSE en cas d'échec

bi.hwndOwner = pHandle;
bi.pidlRoot = 0;
bi.pszDisplayName = folder;
bi.lpszTitle = "Sélection d'un répertoire ...";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = 0;
bi.lParam = 0;

// Affiche la fenêtre
pidl = SHBrowseForFolder(&bi);

// Si un répertoire à été sélectionner et qu'il n'y à pas ' d'erreur '
if (SHGetPathFromIDList(pidl, folder) == TRUE)
{

// Alloue de la mémoire pour pzBuffer
*pzBuffer = new char[MAX_PATH];

// Copie le nom du répertoire sélectionner dans pzBuffer
strcpy(*pzBuffer, folder);

// Renvoie TRUE (succès)
bReturn = TRUE;

}

return bReturn;

}

Exemple:

int main()
{

char *buf;

if (BrowseForFolder(NULL, &buf) == TRUE)
{

cout << buf << endl;
delete [] buf;

}
else
{

cout << "Erreur ..." << endl;

}

return 0;

}

NitRic28@Hotmail.com
0
cs_mindark Messages postés 21 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 27 janvier 2003
14 févr. 2002 à 12:01
Merci Nitric !
Je sais pas ce que je ferais sans toi lol ! :-D
0
Rejoignez-nous