问题来源:http://www.cnblogs.com/del/archive/2008/08/12/1266368.html#2028808

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;

posted on 2011-02-18 13:02  万一  阅读(3257)  评论(20编辑  收藏  举报