计算机等级考试二级Delphi辅导知识:delphi自删除函数DeleteMe

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2011年11月10日

 2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在

  delphi 程序自删除函数 DeleteMe
  procedure DeleteMe;
  var
  BatchFile: TextFile;
  BatchFileName: string;
  ProcessInfo: TProcessInformation;
  StartUpInfo: TStartupInfo;
  begin
  BatchFileName := ExtractFilePath(ParamStr(0)) + '$$del$$.bat';
  AssignFile(BatchFile, BatchFileName);
  Rewrite(BatchFile);
  Writeln(BatchFile, ':try');
  Writeln(BatchFile, 'del "' + GetShortName(ParamStr(0)) + '"');
  Writeln(BatchFile, 'if exist "' + GetShortName(ParamStr(0)) + '"' + ' goto try');
  Writeln(BatchFile, 'del %0');
  Writeln(BatchFile, 'cls');
  Writeln(BatchFile, 'exit');
  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;


相关文章