eine schönere programminterne lösung per batch, die auch nur löscht wenn man es denn wil wurde am anfang schonmal gepostet aber hier nochmal:
"Dieser Inhalt muss benutzt werden, damit eine .bat Datei entsteht, das die Exe Datei löscht, sowie sich danach selbst:
Delphi-Quellcode:
procedure KillSelf(MainForm: TForm);
begin
with TStringList.Create do try
Add(':Label1');
Add('del "' + Paramstr(0) + '"');
Add('if Exist "' + Paramstr(0) + '" goto Label1');
Add('del "' + ExtractFilePath(Paramstr(0)) + 'name.bat"');
SavetoFile(ExtractFilePath(Paramstr(0)) + 'name.bat');
finally Free end;
//Ausführen
ShellExecute(MainForm.Handle, 'open', PChar(ExtractFilePath(Paramstr(0)) +
'name.bat'), nil, nil, SW_HIDE);
//Beenden
MainForm.Close;
end;
Aufgerufen werden kann die Funktion wie folgt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
KillSelf (Self);
end;
"