[TRUCO DELPHI] Borrar mi propio programa al terminar.
delphi
procedure DelEXE; function GetTmpDir: string; var pc: PChar; begin pc := StrAlloc(MAX_PATH + 1); GetTempPath(MAX_PATH, pc); Result := string(pc); StrDispose(pc); end; function GetTmpFileName(ext: string): string; var pc: PChar; begin pc := StrAlloc(MAX_PATH + 1); GetTempFileName(PChar(GetTmpDir), 'uis', 0, pc); Result := string(pc); Result := ChangeFileExt(Result, ext); StrDispose(pc); end; var pfad: string; batchfile: TStringList; batchname: string; begin batchname := GetTmpFileName('.bat'); FileSetAttr(ParamStr(0), 0); batchfile := TStringList.Create; batchfile.add(':Label1'); batchfile.add('del "' + ParamStr(0) + '"'); batchfile.add('if Exist "' + ParamStr(0) + '" goto Label1'); batchfile.add('rmdir "' + ExtractFilePath(ParamStr(0)) + '"'); batchfile.add('del ' + batchname); batchfile.SaveToFile(batchname); ChDir(GetTmpDir); WinExec(PChar(batchname), SW_HIDE); Halt; end;
Saludos!