Lenguaje de programación Borland Delphi
Este procedimiento elimina el fichero que está ejecutando el propio procedimiento. Es decir, elimina el fichero ejecutable de la aplicación en tiempo de ejecución, para ello crea y ejecuta un fichero bat (proceso por lotes):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
f : TextFile;
ficheroBat : string;
begin
ficheroBat := ChangeFileExt(Application.ExeName, '.bat');
AssignFile(f, ficheroBat);
FileMode := fmOpenWrite;
rewrite(f);
try
Writeln(f, format('Erase "%s"',[Application.exename]));
Writeln(f, format('Erase "%s"',[ficheroBat]));
finally
CloseFile(f);
end;
WinExec (Pchar(ficheroBat), 1);
Application.terminate;
end;
end.
Publicado el: 2004-11-05