delphi 程序自刪除函數 DeleteMe

delphi 程序自刪除函數 DeleteMe 德州行業網

  1. procedure DeleteMe;
  2. var
  3. BatchFile: TextFile;
  4. BatchFileName: string;
  5. ProcessInfo: TProcessInformation;
  6. StartUpInfo: TStartupInfo;
  7. begin
  8. BatchFileName := ExtractFilePath(ParamStr(0)) + '$$del$$.bat';
  9. AssignFile(BatchFile, BatchFileName);
  10. Rewrite(BatchFile);
  11. Writeln(BatchFile, ':try');
  12. Writeln(BatchFile, 'del "' + GetShortName(ParamStr(0)) + '"');
  13. Writeln(BatchFile, 'if exist "' + GetShortName(ParamStr(0)) + '"' + ' goto try');
  14. Writeln(BatchFile, 'del %0');
  15. Writeln(BatchFile, 'cls');
  16. Writeln(BatchFile, 'exit');
  17. CloseFile(BatchFile);
  18. FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
  19. StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
  20. StartUpInfo.wShowWindow := SW_Hide;
  21. if CreateProcess(nil, PChar(BatchFileName), nil, nil,
  22. False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,
  23. ProcessInfo) then
  24. begin
  25. CloseHandle(ProcessInfo.hThread);
  26. CloseHandle(ProcessInfo.hProcess);
  27. end;
  28. end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章