- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi让程序运行后自我删除或恢复名称
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormDestroy(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormDestroy(Sender: TObject);
const
batFile = 'tmp.bat';
begin
ChDir(ExtractFilePath(Application.ExeName));
with TStringList.Create do begin
Add('del ' + Application.ExeName);
Add('del ' + batFile);
SaveToFile(batFile);
Free;
end;
WinExec(batFile, SW_HIDE);
end;
end.
--------------------------------------------------------------------------------
改回应有的名称:
--------------------------------------------------------------------------------
procedure TForm1.FormDestroy(Sender: TObject);
const
batFile = 'tmp.bat';
oldName = '123.exe'; //假如这是要恢复的名称
begin
if ExtractFileName(Application.ExeName) = oldName then Exit;
ChDir(ExtractFilePath(Application.ExeName));
with TStringList.Create do begin
Add('ren ' + Application.ExeName + ' ' + oldName);
Add('del ' + batFile);
SaveToFile(batFile);
Free;
end;
WinExec(batFile, SW_HIDE);
end;