程序如何自动删除(即运行了一定次数后把自己干掉)?(100分)

  • 主题发起人 主题发起人 pxd
  • 开始时间 开始时间
自己删除自己好像不大可能,因为那个时候文件是Read Only 的,除非在结束后
给OS发一个消息删除自己,但是不知如何实现.
 
bat(批处理) 没有xueminliu 所说的限制,可以通过它为中介来删除文件,在删除本身


// Your.exe
On yourprog exit
{
execute("Batch.bat");
}


your bat file:Batch.bat

delay 3
del your.exe
del batfile self
 
bat会弹出一个dos窗口,好象太那个了点...
 
我做过类似的程序,可惜我的程序太乱,估计你看不懂,我给你讲讲原理吧。
假设可执行程序名为a.exe
首先用程序动态生成一个批处理文件(假设为a.bat)
该文件中应有如下几行:
:loop1
del a.exe
if exist "a.exe" then goto loop1
del %0
调用该批处理文件,然后退出主程序。
 
在WINDOWS/WININIT.INI中加入:
[Rename]
NUL=文件名

然后,重新启动。O.K.
不过,会在Wininit.bak留下痕迹。
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=133014
 
多人接受答案了。
 
后退
顶部