問題來源:http://www.cnblogs.com/del/archive/2008/08/12/1266368.html#2028808
unit Unit1;interfaceuses 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;