上一篇博客写了一个杀不死的进程,现在再写一个删不掉的文件夹(文件同理),所谓删不掉不是真的删不掉而是删掉后马上重新创建。代码如下:
#include <stdio.h>
#include <windows.h>
#include <io.h> //For access()
#define _CRT_SECURE_NO_WARNINGS //消除编译器警告,如fopen不安全
//判断文件或文件目录是否存在
bool checkFileExist(const char *fileName) //不区分大小写
{
if (access(fileName,0)) //参数0代表检查文件的存在性
{
return false;
}
return true;
}
int main()
{
char *logFile="D:\\Log";
while(1)
{
if (!checkFileExist(logFile)) //如果该文件夹不存在,则重新创建
{
CreateDirectory(logFile,NULL); //参数:文件夹名称,安全属性
}
Sleep(100);
}
return 0;
}
想要删掉这个文件夹,必须结束掉这个进程,那么如果该进程使用上一篇介绍的方法使进程无法杀死,那么该文件夹就真的很难删掉了。第一,删除文件夹,进程立刻重建该文件夹;第二,杀死该进程,另外一个进程立刻恢复该进程;第三,杀死另外一个进程,则该进程立刻恢复另外一个进程。如此一来,相互调用相互保护,删也删不掉,杀也杀不死。