Ich versuche ein Programm oder besser gesagt ein Skript zu schreiben, dass das ausführende Programm löschen kann!
Hintergrund: Ich schreibe hin und wieder Programme, die einen bösen Abgang haben ... wie einen Nachrichtendienst für die Uni, mit dem man von einem PC zu anderen mit Texten kommunizieren kann. Leider habe ich dort nach einiger Zeit die Funktion eingebaut, das man TrayTips schicken kann (so konnte man auch an Rechnern ohne das laufende Programm Nachrichten schreiben) ... kurz um, das Programm hat sich wie die Karnickel verbreitet und überall, sind immer nur noch TrayTips an den Rechnern erschienen ... die Leute im RZ hat das nicht gefreut ...
Das will ich in Zukunft verhindern!
Da man die Ausgeführte Datei nicht selbst löschen kann (sich quasi die Füße weg ziehen), hab ich mir was ausgedacht:
Das Programm prüft auf meinem Webserver, ob es ausgeführt werden darf, I-Net Verbindung besteht ja immer ...
Dann gibt es eine Datei (Kill.exe), die nur die Aufgabe hat einen Pfad aus der einer ini zu lesen und diesen dann zu löschen. Diese ist schon nach Temp beim Programmstart kopiert worden!
Wenn das Programm nicht ausgeführt werden darf schreibt das Programm die ini-Datei mit ihren eigenen Pfad in Temp, führt die Kill.exe aus und schließt sich selbst!
Dann löscht die Kill.exe das Programm ... soweit die Theorie!
In der Praxis kann ich die Datei, die den ini Pfad auslesen soll und dann das Programm löschen soll, nicht mal kompilieren!
Der Virenscaner meinst, dass das Programm ein Wurm wär ... wenn ich ihn deaktiviere, kompiliere und dann wo anders hin kopiere er kennt er ihn noch immer als Wurm ...
Spoiler anzeigen
$ini_pfad = IniRead(@ScriptDir&"\kill.ini", "Ort", "Pfad", "")
FileDelete($ini_pfad)
Wie kann ich es anstellen, das ich mein eigenes Programm löschen kann?