#include <Windows.h>
#include <fstream>
#include <time.h>
#include <process.h>
using namespace std;
unsigned int _stdcall DeleteFile(void* LPVOID)
{
HANDLE mutex = CreateMutex(NULL, true, "Tex");
fstream File;
while(1)
{
Sleep(5);
OpenMutex(NULL, true, "tex");
File.open("d:\\test.txt", ios::in | ios::out);
if(File.is_open())
{
File.close();
DeleteFile("d:\\test.txt");
}
ReleaseMutex(mutex);
Sleep(50);
}
File.close();
CloseHandle(mutex);
return 0;
}
int main()
{
HANDLE i = (HANDLE)_beginthreadex(NULL, 0, DeleteFile, NULL, 0, NULL);
WaitForSingleObject(i, INFINITE);
CloseHandle(i);
system("pause");
return 0;
}
看见上面那两个路径了吗?改成你要删除的文件路径,把路径里面的斜杆号‘\’换成双斜杠‘\\’,运行起来就行了,如果他一直被占用或者有特殊权限是删除不掉的
追问我试了试那个代码,但是运行的时候报错了,我该怎么办呢

追答
把我圈的哪里的“使用unicode字符集”改成“使用多字节字符集”
追问这个页面在哪里打开?
追答
我圈出来的那个地方,就是工程名字那一栏(你自己的工程名和我的不一样),右键打开
追问我又试了试,但是还是删除失败了,一开始我以为路径不能有大写字母后来发现还是不行,请在指点一下

追答你路径填错了,我上面就说了一句,把路径里面的斜杆号‘\’换成双斜杠‘\\’,程序一般识别不了但斜杆符号,单斜杠符号有特殊意义
本回答被提问者和网友采纳