Accueil > Forum > > > > Auto suppression d'un fichier
Auto suppression d'un fichier
mardi 7 septembre 2004 à 22:42:24 |
Auto suppression d'un fichier

BeLZeL
|
Bonjour tt le monde, Lors d'une désinstallation, on exécute un programme et il supprime tous les fichiers installés (y compris lui-même). Or, comme le fichier est en cours d'exécution, je ne peux pas utiliser les fonctions classiques de suppression (BOOL DeleteFile(LPCTSTR lpszFileName)). Siouplé, comment faire ? Voilou, BeLZeL
|
|
mardi 7 septembre 2004 à 22:57:04 |
Re : Auto suppression d'un fichier

BruNews
|
#include <windows.h>
void SupprimeMoi() { HANDLE hfl; DWORD len, d, v; char buff[268], szexe[272], szbat[272]; len = GetTempPath(264, buff); if(buff[len-1] != '\\') buff[len++] = '\\'; buff[len] = 't'; buff[len+1] = '.'; buff[len+2] = 'b'; buff[len+3] = 'a'; buff[len+4] = 't'; buff[len+5] = 0; hfl = CreateFile(buff, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if(hfl == INVALID_HANDLE_VALUE) return; *((DWORD*) szbat) = 0x206C6564; // "del " len = GetShortPathName(buff, szbat+4, 264) + 4; *((DWORD*) szexe) = 0x6F686365; // "echo" *((DWORD*) (szexe+4)) = 0x66666F20; // " off" *((WORD*) (szexe+8)) = 0x0A0D; WriteFile(hfl, szexe, 10, &v, 0); GetModuleFileName(0, buff, 264); *((DWORD*) szexe) = 0x206C6564; // "del " d = GetShortPathName(buff, szexe+4, 264) + 4; szexe[d] = 13; szexe[d+1] = 10; WriteFile(hfl, szexe, d+2, &v, 0); WriteFile(hfl, szbat, len, &v, 0); CloseHandle(hfl); *((DWORD*) szexe) = 0x6E65706F; // "open" szexe[4] = 0; szbat[len+4] = 0; ShellExecute(0, szexe, szbat+4, 0, 0, SW_HIDE); }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE x, PSTR y, int z) { SupprimeMoi(); // APPELER EN DERNIER return 0; }
ciao... BruNews, Admin CS, MVP VC++
|
|
mardi 7 septembre 2004 à 23:07:42 |
Re : Auto suppression d'un fichier

BeLZeL
|
Oki merci.
Ca marche, je vais regarder ce code d'un peu plus près. Apparemment, il ne semble pas avoir d'autre moyen que de créer un fichier bat.
Le fait de faire "*((DWORD*) variable) = 0x00000000, c'est pour éviter d'utiliser des fonctions manipulant les strings ?
Merci BruNews, BeLZeL
|
|
mardi 7 septembre 2004 à 23:13:59 |
Re : Auto suppression d'un fichier

BruNews
|
Réponse acceptée !
ça insere 4 octets en 1 cycle et evite d'encombrer le segment .data avec des chaines inutiles. *((DWORD* var) = 0x0; var doit etre aligne sur 4 sinon cycles de penalite sur PC compatible Intel et plantage sur les autres.
ciao... BruNews, Admin CS, MVP VC++
|
|
mardi 7 septembre 2004 à 23:58:00 |
Re : Auto suppression d'un fichier

vecchio56
|
Pourquoi ca marche? Quand on fait le ShellExecute, exe est encore en cours d'éxécution...
|
|
mercredi 8 septembre 2004 à 00:04:21 |
Re : Auto suppression d'un fichier

BruNews
|
ShellExecute n'est pas bloquant mais asynchrone, le prog se ferme entre temps.
ciao... BruNews, Admin CS, MVP VC++
|
|
mercredi 8 septembre 2004 à 00:08:16 |
Re : Auto suppression d'un fichier

vecchio56
|
OK. Et le bat, lui, il se détruit tout seul?
|
|
mercredi 8 septembre 2004 à 00:11:55 |
Re : Auto suppression d'un fichier

BruNews
|
pas de prob pour le bat, il n'a pas vraiment d'image chargee en memoire comme un executable, l'interpreteur de commandes le lit, execute comme il peut chaque ligne et le ferme.
ciao... BruNews, Admin CS, MVP VC++
|
|
mercredi 8 septembre 2004 à 00:13:08 |
Re : Auto suppression d'un fichier

BeLZeL
|
Voui. Tu peux créer un fichier "fic.bat" en y mettant par exemple : DEL fic.bat
Et il se détruira tout seul. C'est malin un fichier BAT :)
BeLZeL
|
|
mercredi 8 septembre 2004 à 09:10:45 |
Re : Auto suppression d'un fichier

eRoZion
|
Pour le bat, C'est meme pas qu'il est lu, interprété, puis fermé... C'est qu'il est lu, copié en mémoire, fermé, puis interprété.
D'où le fait qu'il puisse s'auto-supprimer, un peu à la manière d'un executable ms-dos.
eRoZion
|
|
Cette discussion est classée dans : fichier, suppression, auto
Répondre à ce message
Sujets en rapport avec ce message
suppression d'un fichier .ini [ par zakspeed ]
BonjourJe suis débutant en la matière mais j'ai soif d'apprendre.J'ai pu lire sur ce site qu'il était possible de supprimer le fichier ini d'un progra
Savoir quand un utilisateur à supprimer un fichier ? [ par nicolos ]
Salut,J'aimerais bien savoir coment intercepter le message de suppression d'un fichier ? Et ainsi permettre son autorisation de suppression ou non. To
suppression de fichier impossible [ par gdpasmini ]
Hello !J'ai un petit probleme, je souhaite effacer un fichier avec mon IHM codé en C sans MFC. Le probleme est que la fonction deleteFile me renvoi Fa
Suppression d'un fichier [ par Mr.X ]
Bonjours, je voudrais savoir si il lorsque Windows supprime un fichier par la corbeille si il garde le nom du fichier. Je sais qu'il est possible de r
suppression de fichier en fonction de la date de création [ par koma777 ]
Bonjour à tous, Je cherche actuellement un programme automatisant la suppression de fichier en fonction d'une date antérieur. En effet, j'ai une camer
Le fichier s'auto-détruira dans ... [ par victorcoasne ]
Est-ce possible de créer un fichier auto-destructible et si oui commentLe créateur du site www.victorc.fr.fm ou www.jscv.com
FICHIER [ par zell61 ]
slt tout le monde j aurai deux petite question a poser :-) enfait j ai fait mon code pour supprimer un client dans la liste mais quand je debogue il
C/C++ : forcer la suppression d'un fichier ayant un flag read-only. [ par kiki37 ]
C/ C++ :Comment peut forcer la suppression d'un fichier ayant le flag read-only de positionné ? quel fonction utiliser (CreateFile ?) ?La fonction Del
Structure d'un fichier IFO [ par highcobra ]
Salut à tous, Qqun pourrait-il me dire comment sont architecturés les fichiers IFO contenus sur les DVD... Merci d'avanceHigh_Cobra ;)
Des probleme help!!!!!!!!!!!!!!!! [ par echizen69 ]
BonjourJe suis nouveau dans le domaine de la programmation, et la j' ai essayer de créer un fichier .h et un fichier .cppPuis j' obtiens :LIBCD.lib(cr
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|