上一篇博客写了一个杀不死的进程,如今再写一个删不掉的目录(文件同理),所谓删不掉不是真的删不掉而是删掉后立即又一次创建。
代码例如以下:
#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; }
想要删掉这个目录,必须结束掉这个进程。那么假设该进程使用上一篇介绍的方法使进程无法杀死,那么该目录就真的非常难删掉了。第一。删除目录。进程立马重建该目录。第二。杀死该进程。另外一个进程立马恢复该进程;第三。杀死另外一个进程,则该进程立马恢复另外一个进程。如此一来,相互调用相互保护,删也删不掉。杀也杀不死。