如何判断文件是否被占用
怎么判断文件是否被占用
解决方法是利用CreateFile来判断这个文件是否被被其他进程以独占的方式占用了.
也可以用来判断 文件是否上传复制完毕,文件大小、操作时间的更改等。
代码:
#include <iostream> using namespace std; //#include <Windows.h> #include <afx.h> int main() { cout<<"文件被占用 test"<<endl; CString szPath("D:\\ftp\\Trans\\1.wmv"); HANDLE Handle; while(1) { Handle = CreateFile(szPath, GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if(INVALID_HANDLE_VALUE == Handle) { cout<<"占用"<<endl; } else { break; } } CloseHandle(Handle) ;//不关闭的话文件就被上面的createfile占用了 return 0; }