dna32r兄,好久不见,最近身体还好吗?
  批处理自删除可以这样写:
  procedure DeleteMe; var   BatchFile: TextFile;   BatchFileName: string;   ProcessInfo: TProcessInformation;   StartUpInfo: TStartupInfo; begin   BatchFileName := ExtractFilePath(ParamStr(0)) + '_deleteme.bat';   AssignFile(BatchFile, BatchFileName);   Rewrite(BatchFile);
    Writeln(BatchFile, ':try');   Writeln(BatchFile, 'del "' + ParamStr(0) + '"');   Writeln(BatchFile,     'if exist "' + ParamStr(0) + '"' + ' goto try');   Writeln(BatchFile, 'del %0');   CloseFile(BatchFile);
    FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);   StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;   StartUpInfo.wShowWindow := SW_HIDE;   if CreateProcess(nil, PChar(BatchFileName), nil, nil,     False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,     ProcessInfo) then   begin     CloseHandle(ProcessInfo.hThread);     CloseHandle(ProcessInfo.hProcess);   end; end; |