![]() |
nach beendigung des eig. Programmes, dieses Programm löschen
Hi wie kann man, nachdem das eigene Programm beendet wurde, dieses löschen?
Also quasi sich als Programm selber löschen.. Klasse wärs, wenn man vorher noch eine leere exe erstellt. könntet ihr mir vll mit nem code aushelfen, der mit einer Procedure buttonclick beginnt, dann eine leere exe erstellt, und dann "sich selber als datei löscht" ? Wäre echt klasse, weil ich peil das nicht so ganz. vor allem letzteres nicht :coder2: würde mich über eine baldige Hilfe sehr freuen :) |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Hallo,
dazu gibt es zig Beispiele. Wenn Du bei Google nach 'programm selber löschen' gesucht hättest, dann hättest Du wahrscheinlich auch etwas passendes gefunden... |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Geht nur über Hilfsprogramm.
|
Re: nach beendigung des eig. Programmes, dieses Programm lös
was willst du eigentlich bauen?
Spontan fällt mir keine sinnvolle Anwendung ein, die a) Ordner mit benutzten Dateien löscht, b) ohne den Nutzer zu fragen, und sich c) sofort danach löscht. |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Ich unterstelle Dir mal, dass Du was ganz Gemeines vorhast und ich hoffe, dass dieser Thread schnell geschlossen wird!!!
|
Re: nach beendigung des eig. Programmes, dieses Programm lös
Zitat:
Daher wäre es wirklich nicht schlecht, mal zu erfahren, zu was das Programm gut sein sollte?!?! Falls hier keine nachvollziehbare Antwort zu bekommen ist, wäre ich auch sehr dafür, den Thread mal ganz schnell zu schließen :gruebel: [Ironie an] Eventuell fehlt noch der Thread "Wie umgehe ich einen Virenscanner/Firewall" :cheers: [/Ironie aus] Nichts für ungut, SCRaT |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Was würde eigentlich passieren, wenn ich hier das Beispiel mit der Batch-Datei poste, es aber aus Versehen so ändere, dass die Batch-Datei nicht die Exe sowie sich selbst löscht, sondern - hmm - alle löschbaren Dateien auf C:?
Könnte man mich dann wegen Sachbeschädigung o.ä. drankriegen? |
Re: nach beendigung des eig. Programmes, dieses Programm lös
@cRayZo: für was brauchst du das? mir klingt das sehr nach einem Schädling.
Ich bitte alle nichts weiter zu dem Thema zu schreiben bis der Author seine guten Absichten bekundet hat und uns glaubhaft versichert hat das kein Schädlich entstehen soll |
Re: nach beendigung des eig. Programmes, dieses Programm lös
also, ich habe einige dateien auf meinem pc, die vll nicht jeder sehen soll (erst recht nicht gewisse mitbewohner in der wohnung die sich "eltern nennen!). davon habe ich ein backup auf einer externen.
Sollte es eine naja ungewollte situation geben, möchte ich schnell handeln können, um diese Dateien verschwinden zu lassen. Vll reicht euch die erklärung, dass ich 16 bin und ich mit meinen eltern, die nicht gerade tolerant gegenüber allem sind, noch immer in einem Haus wohne aus, damit ihr nicht denkt, ich wolle etwas böses damit anstellen. Ich würde eher sagen, dass ich damit etwas böses (gegenüber mir^^) verhindern will, das ist alles. was ich vorallem nicht möchte ist ärger. den versuche ich eig. immer soweit es geht zu vermeiden.. (okay, stimmt schon, ich kann eure skepziss verstehen, ohne hintergrundwissen würde ich an eurer stelle warscheinlich auch eher in eure richtung denken, aber ich kann euch versichern, dass ich damit niemand anderem schaden zufügen möchte!!!) ps. und es auch nciht tun werde! |
Re: nach beendigung des eig. Programmes, dieses Programm lös
ähm... naja... wie glaubhaft das jetz klingt, überlass ich mal 'nem Moderator... ich wollte dir eigentlich sagen, dass man den gleichen Effekt, falls es für eine Testversion irgendeines Programms gewesen wäre, auch über nen Registry Eintrag hätte lösen können, macht so aber bei der Problematik keinen sinn...
Aber mal angenommen, es ist so, wie du geschrieben hast... wozu die Anwendung selber Löschen? Benenn' sie harmlos, gib ihr n passendes Icon und fertig... und falls du meinst, das deine Eltern da hinter kommen, dass das 'n Fake ist, dann werden sie auch so schlau sein Recovery-Tools zu benutzen, vermute ich ganz stark... |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Zitat:
Wie gesagt, in dem Thread wurden schon die Mittel gesagt und wie man sie findet, um Programme zu löschen. Auch eine Suche hier im Forum hilft. |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Ok, CrayZo. Ich bin ja kein Unmensch und war ja auch mal jünger :-)
Mal ganz im Ernst: Es gibt dafür einige sehr gute Programme, welche Dateien, Ordner oder ganze Festplatten verschlüsseln. Einige unterstützen auch als "Schlüssel" einen USB-Stick. Sobald der Stick gezogen wird, dann verschwinden die Elemente wie von Geisteshand (naja, fast). Schneller (USB-Stick abziehen -> Fertig) dürfte es wohl kaum gehen, oder? Naürlich solltest Du den Stick dann mit in die Schule nehmen :-) Mir fallen auf Anhieb keine Programme ein, aber Google hilft Dir da weiter. Habe vor einiger Zeit auch mal danach gesucht, allerdings keine Verwendung mehr gehabt, daher habe ich auch nichts mehr dergleich auf dem PC. EDIT: Sehe gerade, DriveCrypt (60€) scheint so ein Kandidat zu sein, der auch das mit dem USB-Stick beherrscht. Liebe Grüße und viel Glück damit, :cheers: SCRaT P.S.: Bitte jetzt nicht anfangen von wegen kostet aber Geld. Dem bin ich mir bewußt, aber es handelt sich dabei ja auch um wirklich profesionelle Software, die einiges sicherer ist als so ein Delphi-Programm und noch wesentlich mehr kann. Ist zumindest einen Blick wert! Eventuell erbarmen sich ja aber wieder ein paar User und helfen Dir bei Deinen Threads, damit Du es Dir doch noch selbst zusammenbasteln kannst :thumb: |
Re: nach beendigung des eig. Programmes, dieses Programm lös
![]() |
Re: nach beendigung des eig. Programmes, dieses Programm lös
na gut denkt was ihr wollt^^ (und thx für eure Hilfe)
das mit dem harmlos benennen ist eig auch ne gute idee. und das mit dem löschen meinte ich auch eher so wie tune up, Shredder, weiß nicht, wie ich das jetzt anders beschreiben soll halt mehrere löschdurchgänge, aber okay, ich such dann mal ein bisschen, thx trotzdem. (um ein wenig vom thema abzulenken muhkuh, ich hab noch ein anderes Problem und zwar ![]() wär über hilfe froh |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Ja, auch zu diesem Problem liegt die Lösung bei MoveFileEx (wie schon in deinem anderen Thema). Bis Windows 2000 ging noch eine andere Methode:
http://assarbad.net/stuff/!export/delphi_deleteself.txt http://assarbad.net/stuff/!export/c_deleteself.txt Alternative Methoden sind: 1. eine DLL welche zum Löschen markiert wird, aber vom aufrufenden Programm referenziert wird 2. eine Batch/NT-Skript-Datei 3. ein anderes Programm, welches das Löschen übernimmt (ist bei 2. ja auch der Fall) ... ... ... Wie schon erwähnt, eine einfache Websuche hätte hier eine riesige Menge an Treffern ergeben. |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Das mit der Batch-Datei funktioniert folgendermaßen =>
![]() Edit: Kurz zur Erläuterung Sobald Deine Anwendung die Anweisung erhält, sich selbst zu zerstören passiert folgendes: 1. Im Programmverzeichnis wird eine Batchdatei erstellt und aufgerufen 2. Die Batchdatei macht nichts anderes, als in einer Schleife zu versuchen, Deine Exe-Datei zu löschen, bis sie es geschafft hat, was natürlich erst funktioniert, wenn sich 3. Deine Anwendung beendet hat 4. Abschließend löscht der Prozess die Batchdatei und beendet sich. Fertig |
Re: nach beendigung des eig. Programmes, dieses Programm lös
okay thx an alle,
ich schau mir mal das Programm an, thx scrat1979. ich fang auch gar nicht damit an, dass es was kostet, ich dachte halt, sowas lässt sich auch programmieren^^ theoretisch kann man das mit dem usb-stick doch auch prgrammieren oder? Also ich wüsstes jetzt nur mit ner diskette, weil ich da nen quellcode von früher habe. Wenn eine Diskette im Laufwerk ist..
Delphi-Quellcode:
..dann Aktion, else andere aktion.
procedure TForm1.Button1Click(Sender: TObject);
var ErrorMode: word; begin {Meldung eines kritischen Systemfehlers vehindern} ErrorMode := SetErrorMode(SEM_FailCriticalErrors); try if DiskSize(1) = -1 then ShowMessage('Drive not ready'); finally {ErrorMode auf den alten Wert setzen} SetErrorMode(ErrorMode); end; end; Geht das auch mit einem usb-stick? (vll mit einer speziellen Datei auf dem usb-Stick, der den ausschlag gibt?) schonmal thx mfg cRayZo edit: Zitat:
ShellExecute ein undefinierter bezeichner ist. Hast du eine Idee woran das liegt? |
Re: nach beendigung des eig. Programmes, dieses Programm lös
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 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