mon dossier ne se supprime pas si son chemin est dans une variable
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:
Code:
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;
}
} |
appel:
Code:
1 2
|
ViderRepertoire(ModifierChemin(path)); |
où ModifierChemin va en fait transformer tous les "\" en "\\"
bon mon problème est que de cette facon, mon dossier n'est pas supprimé:cry:, 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:
Code:
1 2 3
|
CString chemin= "C:\\temp\\program files";
ViderRepertoire(chemin); |
ça marche pas non plus... :calim2:
quelqu'un pourrait m'expliquer pourquoi??
mercii