bonjour,
tout d'abord, pardon pour l'intitulé.. je savais pas quoi mettre...
voici mon probleme...
je parcours tous les dossiers depuis un répertoire précis. Si un dossier est vide, je le supprime grace à cette methode:
appel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 bool CTemp::ViderRepertoire( LPCTSTR repertoire, bool suppressionDefinitive /*= true*/ ) { if (PathFileExists(repertoire)) { SHFILEOPSTRUCT sh; sh.hwnd = NULL; sh.wFunc = FO_DELETE; sh.pFrom = repertoire; sh.pTo = NULL; sh.fFlags = FOF_NOCONFIRMATION|FOF_SILENT; if(!suppressionDefinitive) sh.fFlags |= FOF_ALLOWUNDO; sh.fAnyOperationsAborted = FALSE; sh.lpszProgressTitle = NULL; sh.hNameMappings = NULL; return (SHFileOperation(&sh)==0); } else { AfxMessageBox("repertoire inexistant"); return 0; } }
où ModifierChemin va en fait transformer tous les "\" en "\\"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ViderRepertoire(ModifierChemin(path));
bon mon problème est que de cette facon, mon dossier n'est pas supprimé, alors que si je mets le chemin en dur: ex "C:\\temp\\program files" bah là ça marche.
j'ai utilisé cett exemple mais si je l'appelle de cette facon:
ça marche pas non plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CString chemin= "C:\\temp\\program files"; ViderRepertoire(chemin);
quelqu'un pourrait m'expliquer pourquoi??
mercii
Partager