Friday, November 25, 2005

Checking If File Is In Use

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, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0) ;
Result := (HFileRes = INVALID_HANDLE_VALUE) ;
if not Result then
CloseHandle