Application - programa que se autodeleta |
Top Previous Next |
|
Programa que se auto-deleta
Crie um programa capaz de excluir-se a si mesmo. Este tipo de programa pode ser útil no caso de você desejar distribuir uma versão demo do seu projeto, totalmente funcional, porém que se delete após a sua utilização, ou seja, pode-se executá-lo normalmente, porém não é possível utilizá-lo uma segunda vez. O seu funcionamento é bem simples: um arquivo .BAT é criado e dentro dele são utilizados comandos que deletam o arquivo executável da aplicação, assim como o próprio arquivo .BAT.
Siga os passos abaixo para implementação deste programa:
1) Abra uma nova aplicação e crie, na seção public, uma procedure com o nome de DeletaExe;
. . .
private { Private declarations } public { Public declarations } procedure DeletaExe; end;
var Form1: TForm1;
. . .
2) Escreva no corpo da procedure DeletaExe, o seguinte código:
procedure TForm1.DeletaExe; Var Arquivo: TextFile; begin AssignFile(Arquivo,ChangeFileExt(ParamStr(0),'.bat')); ReWrite(Arquivo); WriteLn(Arquivo,':1'); WriteLn(Arquivo,Format('Erase "%s"',[ParamStr(0)])); WriteLn(Arquivo,Format('If exist "%s" Goto 1',[ParamStr(0)])); WriteLn(Arquivo,Format('Erase "%s"',[ChangeFileExt(ParamStr(0),'.bat')])); CloseFile(Arquivo); WinExec(PChar(ChangeFileExt(ParamStr(0),'.bat')),sw_hide); Halt; end;
3) Insira no evento OnClose do formulário, uma chamada à DeletaExe:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin DeletaExe; end;
4) Rode e teste a aplicação.
|