Jumat, 29 Agustus 2014

Cara menghapus program diri sendiri sesaat setelah close

Self Delete Program Delphi 7
Self Delete Program Delphi 7
Berikut adalah bagaimana cara menghapus program dirinya sendiri sesaat setelah program tersebut ditutup. Pada prinsipnya program ini memanfaatkan batch command untuk melakukan penghapusan program tersebut dan batch command dieksekusi saat program tersebut di tutup. Berikut scriptnya...



procedure selfdel();
var f:file;
    i:integer;
    buf:array[1..2560] of char;
    s:TStringlist;
    path,pname,bname,isi:string;
    n:integer;
    app:string;
begin
  s:=TStringlist.Create;
  try
    app:=paramstr(0);
    path:=extractfilepath(app);
    pname:=extractfilename(app);
    bname:=path+copy(pname,1,pos('.',pname)-1)+'.bat';
    s.Add(':Repeat');
    s.Add('del "'+app+'"');
    s.Add('if exist "'+app+'" goto Repeat');
    s.Add('del "'+bname+'"');
    isi:=s.Text;n:=length(isi);
    for i:=1 to n do
    buf[i]:=isi[i];
    assignfile(f,bname);
    {$I-}
      rewrite(f,1);
      blockwrite(f,buf,n);
    {$I+}
    closefile(f);
  finally s.Destroy; end;
  ShellExecute(0, 'open', PChar(bname), '', '',SW_HIDE);
end;

3 komentar: