En fait, un ITEMIDLIST est un identifiant qui réfère à un dossier, c'est à dire, à un emplacement sur le(s) disque(s).
C'est la valeur que nous donne SHBrowseForFolder. Tu pourra noter qu'il y en a un autre dans la structure BROWSEINFO, qui doit contenir le dossier Root à partir duquel on veut chercher.
Pour ce qui est du membre bi.pszDisplayName, il ne contient que le nom du répertoire sélectionné, mais pas son chemin complet
Ex: si tu sélectionne C:\Windows\system32
bi.pszDisplayName contiendra system32
J'espère avoir été suffisament clair, et avoir répondu à tes questions
ah au fait je voulais dire que je compile sous devcpp 4.9.9.2 et sa fonctionne nickel chrome... a part un "[Warning] no newline at end of file" mais lol, c'est pas trop grave.... (par conte, vu comment tu declare ta classe WNDCLASSEX, j'ai droit a une belle fenetre DOS derriere la fenetre de ton prog.... mais c'est pas non plus tres grave...)
@++ et bonne continuation
Sympa le code mais j'avoue ne pas tout comprendre dedans....
j'ai du mal a comprendre pourquoi ta fonction FolderBrowse() :
HWND hWndMain,hWndBtn;
char Result[MAX_PATH];
int FolderBrowse()
{
BROWSEINFO bi;
ITEMIDLIST *il;
char Buffer[MAX_PATH];
bi.hwndOwner=hWndMain;
bi.pidlRoot=NULL;
bi.pszDisplayName=&Buffer[0];
bi.lpszTitle="Select a folder...";
bi.ulFlags=0;
bi.lpfn=NULL;
if ((il=SHBrowseForFolder(&bi))==NULL) return 0;
return SHGetPathFromIDList(il,&Result[0]);
}
Quest-ce qu'un ITEMLIST ??
Le parametre bi.pszDisplayName=&Buffer[0] n'est-il pas cense contenir directement le path du dossier selectione grace a SHBrowseForFolder() ?? Pourquoi renvoyer autre chose ... ?? Merci de m'expliquer ou de commenter ton code, la j'ai vraiment du mal... ;-)
@++
merci beaucoup.
continue et @++
En fait, un ITEMIDLIST est un identifiant qui réfère à un dossier, c'est à dire, à un emplacement sur le(s) disque(s).
C'est la valeur que nous donne SHBrowseForFolder. Tu pourra noter qu'il y en a un autre dans la structure BROWSEINFO, qui doit contenir le dossier Root à partir duquel on veut chercher.
Pour ce qui est du membre bi.pszDisplayName, il ne contient que le nom du répertoire sélectionné, mais pas son chemin complet
Ex: si tu sélectionne C:\Windows\system32
bi.pszDisplayName contiendra system32
J'espère avoir été suffisament clair, et avoir répondu à tes questions
Bonne prog
Xaviou
@++ et bonne continuation
j'ai du mal a comprendre pourquoi ta fonction FolderBrowse() :
HWND hWndMain,hWndBtn;
char Result[MAX_PATH];
int FolderBrowse()
{
BROWSEINFO bi;
ITEMIDLIST *il;
char Buffer[MAX_PATH];
bi.hwndOwner=hWndMain;
bi.pidlRoot=NULL;
bi.pszDisplayName=&Buffer[0];
bi.lpszTitle="Select a folder...";
bi.ulFlags=0;
bi.lpfn=NULL;
if ((il=SHBrowseForFolder(&bi))==NULL) return 0;
return SHGetPathFromIDList(il,&Result[0]);
}
Quest-ce qu'un ITEMLIST ??
Le parametre bi.pszDisplayName=&Buffer[0] n'est-il pas cense contenir directement le path du dossier selectione grace a SHBrowseForFolder() ?? Pourquoi renvoyer autre chose ... ?? Merci de m'expliquer ou de commenter ton code, la j'ai vraiment du mal... ;-)
@++