网上一般是通过创建批处理文件实现删除自身
@echo off
loop
del access.exe
if exist access.exe
goto loop
del DelMe.bat
下面用C/C++语言表示创建DelMe.bat文件
FILE *pFile=NULL;
pFile=fopen("DelMe.bat","w");
if(pFile==NULL)
{
return;
}
fputs("@echo off/n",pFile);
fputs("loop/n",pFile);
fputs("del access.exe/n",pFile);
fputs("if exist access.exe/n",pFile);
fputs("goto loop/n",pFile);
fputs("del DelMe.bat/n",pFile);
再通过API函数执行DelMe.bat文件
下面通过创建线程实现程序删除自身
#include <windows.h>
BOOL SelfDelete();
//----------------------------------------------------------------
int main()
{
SelfDelete();
exit(0);
return 0;
}
//-----