 |
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;
thAnks
BalasHapusitu menggunakan perantara/remote
BalasHapusBetul sekali, dan remote tersebut dibuat dan dieksekusi sebelum program ditutup
Hapus