深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 605|回复: 0
打印 上一主题 下一主题

delphi:程序的自我删除

[复制链接]

800

主题

1379

帖子

7708

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7708
跳转到指定楼层
楼主
发表于 2019-6-2 21:15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
{自我删除}
procedure TH_GZ2019.DelMe;
var
  F            : textfile;
  BatchFileName: string;
  ProcessInfo  : TProcessInformation;
  StartUpInfo  : TStartupInfo;
begin
  PassRunMsdos;
  BatchFileName:= Syspath+'Deleteme.bat';  {建批处理文件}
  AssignFile(F,BatchFileName);
  Rewrite(F);{F为TextFile类型}
  WriteLn(F,':try');
  WriteLn(F,'del "' + ParamStr(0) + '"');
  WriteLn(F,'if exist "' + ParamStr(0) + '"' + ' goto try');
  WriteLn(F,'del %0');
  CloseFile(F);
  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;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 12:56 , Processed in 0.023675 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表