Win XP et suppression de dossiers

Signaler
Messages postés
95
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2005
-
Messages postés
95
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2005
-
Salut!

J'ai un pb bête : j'ai un prog qui permet entre autre d'effacer des dossiers ... sauf qu'en testant sous Win XP ca ne marche pas car ce c** met les dossiers en lecture seule.
Je me dis : bon un SetFileAttributes en virant tout devrait marcher ... mais non.
Alors je clic-droit sur mon dossier, je vire la lecture seule ... j'applique, je fais ok, je re-clic-droit et le dossier est de nouveau en lecture seule !!??!! C'est mon XP qui déconne ou c'est normal?
Si c pas XP qui déconne, je fais comme pour le supprimer c répertoire non d'un petit bonhomme ?

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Il est vide ce dossier ???
Je viens de tester et RremoveDirectory va impec.
ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
95
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2005

Bah ouais il est vide...
J'ai essayé RemoveDirectory mais il m'a envoyé bouler quand même.
Enfin non, il ne me dit rien... c'est juste qu'il ne l'efface pas.

Merci de m'avoir répondu quand meme!
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Interroge GetLastError

void DisplayLastError(HWND hOwner)
{
LPVOID lpMsgBuf = 0;
DWORD dwErr = GetLastError();
if(dwErr) {
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dwErr, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
(LPTSTR) &lpMsgBuf, 0, NULL);
if(lpMsgBuf) {
MessageBox(hOwner, (LPCTSTR)lpMsgBuf, "Error", MB_ICONEXCLAMATION );
LocalFree(lpMsgBuf);
}
}
}

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
95
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2005

Merci BruNews!

En fait le GetLastError me disait qu'il y avait un processus sur le répertoire et qu'il ne voulait donc pas le supprimer!

Bon, j'utilisais un CFileFind pour d'abord vider le répertoire, et je ne faisais pas le 'close()' avant de vouloir supprime le répertoire!
Maintenant ça marche!

@+