Autosuppression d'un prog delphi par un bat ! [Résolu]

Signaler
Messages postés
20
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
1 juin 2005
-
Messages postés
20
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
1 juin 2005
-
Bon, je sais k'il existe des sujets similaires dans les forums, mais je n'ai pas trouver des réponses vraiment claires.

Je croi (je suis même sûr) qu'un prog en cours d'utilisation ne peut pas s'autodétruire. Il faut donc, je pense, faire appel à un bat (par shellexecute)qui lui pourra supprimer mon appli une foi fermée.
Mais quelles sont les lignes de code à rentrer dans le .bat affin de :

-supprimer un exe sur le disque dur
-de supprimer le bat lui même (je croi k'un bat peut par contre s'autodétruire)

Merci d'avance pour vos réponses qui éclairerons mon chemin je l'espère ...

swop

2 réponses

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Slt !
En effet, comme tu le dis, les fichiers bat sont auto-destructibles...
:) :) :) :)

Code à mettre dans le fichier bat :
@echo off
cls
echo Ce fichier bat va supprimer l'application ''machin''
echo Appuyez sur une touche pour continuer ou fermez la fenetre pour annuler
Pause
DEL "%cd%\Prog.exe"
DEL "%cd%\FichierBAT.bat"

Remarque : %cd% renvoie le répertoire dans lequel est exécuté le fichier .BAT

Pour que ce code fonctionne correctement, il faut que tu stoppes l'application Delphi immédiatement après l'appel au fichier bat, sinon il risque de s'exécuter avant que l'application dephi soit terminée, c'est à dire qu'il ne pourra pas supprimer le programme.
Par précaution, j'ai inséré dans le code du BAT une demande de confirmation, pour laisser le temps à l'application de se fermer correctement.

Code à mettre dans l'application Delphi :
Uses
 ShellAPI

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute (handle,'Open', PChar(ExtractFilePath(Application.ExeName)+'FichierBAT.bat') ,'','', SW_SHOWNORMAL);
  Application.Terminate;
end;


@+
:)
Bonne prog !
Nico
Messages postés
20
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
1 juin 2005

merci ni69 !
je vai essayer ca, mé ca me semble bon qd même !

merci bcp
swop