执行中的程序是可以被改名的,所以直接可以:
1. RenameFile(Application.ExeName,'XYZ.Old');
或
2. MoveFile(PChar(Application.ExeName),'XYZ.Old');
或
function BackupFile(lpExistingFileName, lpNewFileName: PChar): BOOL;
stdcall; external 'kernel32.dll' name 'MoveFileA';
3. BackupFile(PChar(Application.ExeName),'XYZ.Old');
注:方法 3 是没有被 Delphi 放到 Windows 单元的 API 函数。