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); //如果CreateFile返回失败那么Result为真(即文件正在被使用) if not Result then//如果CreateFile函数返回是成功 CloseHandle(HFileRes); //那么关闭句柄 end;
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); //如果CreateFile返回失败那么Result为真(即文件正在被使用)
if not Result then//如果CreateFile函数返回是成功
CloseHandle(HFileRes); //那么关闭句柄
end;