deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 2016
-
17 juil. 2006 à 19:06
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 2016
-
18 juil. 2006 à 19:43
Bonjour,
Voila je fait un programme qui éfface les fichiers de manière sure. Ma méthode est copiée sur celle de vecchio56 (source) .
Pourtant j'ai une erreur , j'ai mit celle de vecchio, elle tourne niquel, je met la miène , cela ne va pas. j'ai le message de windows DCKerzor a rencontré un problème et doit fermer ...". L'erreur est situé en comment aire dans la source :
le define . (j'ai esseye aussi avec 0x100000 comme fait vecchio, mais cava pas non plus).
#define MO 1048576
Ma fonction :
BOOL EraseFile(char * szPathFile){
HANDLE haFile;
DWORD d;
LPVOID lpMemory;
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 18 juil. 2006 à 00:45
Salut,
Comme signalé par aardman, GetProcessHeap doit être suivie de parenthèses :
HeapFree(GetProcessHeap(),0,lpMemory);
La ligne juste après le else doit être comme ceci:
if(!WriteFile(haFile,lpMemory,dwSizeFile,&d,NULL) || d != dwSizeFile)
Tu dois donc remplacer MO par dwSizeFile, sinon le fichier ne sera jamais supprimé.
Après ces quelques petites modifications, ça devrait marcher sans problème.