Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm soll sich selber löschen (https://www.delphipraxis.net/110923-programm-soll-sich-selber-loeschen.html)

delphin06 26. Mär 2008 20:55


Programm soll sich selber löschen
 
Hi

Ich arbeite gerade an nem kleinen Tool was nur von USB Stick laufen soll. Dazu kopiert eine kleine "Hilfs-EXE" das eigentliche Programm in ein temporäres verzeichnis auf der Festplatte. Wird der USB Stick jetzt abgezogen, so soll dieses Programm beendet werden. Allerdings will ich nicht, dass davon noch irgendwelche Reste auf der Festplatte übrig bleiben, weil es an mehreren PCs genutzt werden soll. Kann ich die Exe irgendwie dazu bringen sich selber zu löschen?

Gruß

marabu 26. Mär 2008 21:08

Re: Programm soll sich selber löschen
 
Hallo,

wenn das Programm vom Stick laufen soll, dann würde ich es auch nicht auf die Festplatte kopieren.

Ansonsten hilft der Aufruf über ein command file, in welchem dem Programmaufruf der Löschbefehl folgt.

Grüße vom marabu

delphin06 26. Mär 2008 21:16

Re: Programm soll sich selber löschen
 
Ja klar eigentlich wollte ich es nicht auf Festplatte haben, aber es läuft ja die ganze zeit im hintergrund wenn es einmal gestartet wurde und dann kommt es gelegentlich zu ner exception wenn man den usb stick einfach rauszeiht während das programm noch läuft und das will ich verhindern.

wie meinst du das mit dem command file?

Meflin 26. Mär 2008 21:26

Re: Programm soll sich selber löschen
 
Zitat:

Zitat von delphin06
wie meinst du das mit dem command file?

Du lässt das Programm eine batch-Datei erstellen (wohl am besten im Temp-Ordner) und ausführen. Machen muss sie folgendes
1. Dein Programm beenden
2. Dein Programm löschen

Anderst wirds nicht gehen ;)


delphin06 26. Mär 2008 21:27

Re: Programm soll sich selber löschen
 
Aber die batch datei bleibt doch dann noch ürig oder nicht?

Fussball-Robby 26. Mär 2008 21:30

Re: Programm soll sich selber löschen
 
Eine Batchdatei kann sich im Gegensatz zu einer Exe selber löschen :wink:

Mfg

delphin06 26. Mär 2008 21:31

Re: Programm soll sich selber löschen
 
Achso ja dann...wusst ich nich...danke werde es mal versuchen

hoika 26. Mär 2008 21:37

Re: Programm soll sich selber löschen
 
Hallo,

http://www.microsoft.com/msj/archive/sf9c.aspx


Heiko

Luckie 27. Mär 2008 07:54

Re: Programm soll sich selber löschen
 
Und auch in diesem Fall, wie so oft, hätte eine Forumssuche schon die Antwort geliefert.

RavenIV 27. Mär 2008 07:57

Re: Programm soll sich selber löschen
 
Das Thema wurde hier schon einige Male durchgekaut.
Einfach mal die Suchfunktion benutzen.

grenzgaenger 27. Mär 2008 08:07

Re: Programm soll sich selber löschen
 
Zitat:

Zitat von delphin06
Ja klar eigentlich wollte ich es nicht auf Festplatte haben, aber es läuft ja die ganze zeit im hintergrund wenn es einmal gestartet wurde und dann kommt es gelegentlich zu ner exception wenn man den usb stick einfach rauszeiht während das programm noch läuft und das will ich verhindern.

wie meinst du das mit dem command file?

tja, da musst wohl den USB port abfragen, und nach dem entfernen des Sticks drauf reagieren...

denke, da bräuchtest du zuerst einen aktiven USB stick ...

delphin06 27. Mär 2008 17:55

Re: Programm soll sich selber löschen
 
Zitat:

Zitat von grenzgaenger
Zitat:

Zitat von delphin06
Ja klar eigentlich wollte ich es nicht auf Festplatte haben, aber es läuft ja die ganze zeit im hintergrund wenn es einmal gestartet wurde und dann kommt es gelegentlich zu ner exception wenn man den usb stick einfach rauszeiht während das programm noch läuft und das will ich verhindern.

wie meinst du das mit dem command file?

tja, da musst wohl den USB port abfragen, und nach dem entfernen des Sticks drauf reagieren...

denke, da bräuchtest du zuerst einen aktiven USB stick ...

ich reagiere ja auf das entfernen des USB Sticks, aber irgendwie kommt immer eine exception vom Typ 'EExternalException' beim beenden des programms. allerdings nur sporadisch.

Eigentlich wäre es mir lieber das alles vom USB Stick zu machen aber ich weiß nich wie ich diese exception los werde...die tritt auf, nachdem application.terminate aufgerufen wurde. Aber wie gesagt nicht immer.


Und was ich noch erwähnen wollte ich benutze immer die Suche bevor ich hier ein neues Thema auf mache! Nur manchmal ist es eben schwierig die passenden Worte für die Suche zu finden. Das was ich gefunden hatte hat mich nicht wirklich weiter gebracht.

Gruß

delphin06 29. Mär 2008 12:30

Re: Programm soll sich selber löschen
 
Ich hab das jetzt mit der batch ausprobiert, so wie es auf microsoft.com beschrieben ist. Funktioniert auch wunderbar. Da ich die batch erst kurz vor dem Beenden des Programms, was gelöscht werden soll, ausführe kommt es so auch nur zu einer sehr kurzen zeit wo die batch läuft und somit zu einer sehr geringen CPU-Auslastung.
Dann die Batch über shellexecute aufrufen mit dem parameter SW_HIDE und man sieht noch nichtmal was davon! Einfach genial!

Danke nochmal!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz