怎样检测一个文件正在使用或被打开中(55分)

  • 主题发起人 主题发起人 wanglw
  • 开始时间 开始时间
W

wanglw

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样检测一个文件正在使用或被打开中
 
什么文件<br>ACCESS?
 
所有类型的文件
 
几位老大.具体点吧
 
fileopen不可行。<br>查进程,如果是多文档怎办?
 
我也有此难题,特此请教,fileopen不行。
 
不能删就在用
 
判断文件的属性,一般情况下,正在执行的文件是不可写/只读的!?
 
楼上的,这种说法太泛了<br><br>不可行
 
呵呵,以独占方式打开你要的文件,如果True则说明没有被别人打开或使用,如果False一定是被别的打开了。
 
找到个函数,可是不能判断文本文件的打开<br>function IsFileInUse(fName : string) : boolean;<br>var<br>&nbsp; &nbsp;HFileRes : HFILE;<br>begin<br>&nbsp; &nbsp;Result := false;<br>&nbsp; &nbsp;if not FileExists(fName) then<br>&nbsp; &nbsp; &nbsp; exit;<br>&nbsp; &nbsp;HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0 {this is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);<br>&nbsp; &nbsp;Result := (HFileRes = INVALID_HANDLE_VALUE);<br>&nbsp; &nbsp;if not Result then<br>&nbsp; &nbsp;CloseHandle(HFileRes);<br>end;
 
这个函数应该可以判断任何文件是否被使用呀,<br>但是别的程序打开文件读取文件后就关闭了的话,是检测不到的.<br>大多数读文本文件的程序都是这样的.
 
应该就是wanglw列出的这个函数了
 
kao,搜索一下以前的问题!!!
 
楼上的函数对打开时不创建临时文件的文件类型不适用吧,我用了对Word可以,但对Excel不行啊,楼下的继续。
 
牛人。<br>这么老的帖子都找得出来?
 
后退
顶部