如何判断一个文件是否正在被其它进程使用(100分)

  • 主题发起人 主题发起人 figoxie
  • 开始时间 开始时间
F

figoxie

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,
现在我有一个delphi写的图片解析的程序,需要去一个目录下扫描,遇到有文件出现就解析掉它,问题时,如果用户通过ftp上传的是大文件,可能传到一半就被我解析掉了,请问有什么方法可以判断用户是否上传完毕呢,谢谢!
 
function IsFileInUse(fName : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then
exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,
0 {this is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;
 
接受答案了.
 
后退
顶部