方法一:
function IsFileInUse(FileName: string): Boolean;
var
H: THandle;
begin
Result := False;
try
H := FileOpen(FileName, fmShareExclusive);
if H=INVALID_HANDLE_VALUE then
Result := True;
if not Result then
FileClose(H);
except
end;
end;
方法二:
function IsFileInUse(FileName: string): Boolean;
var
hFileRes: HFILE;
begin
Result := False;
try
hFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if hFileRes=INVALID_HANDLE_VALUE then
Result := True;
if not Result then
CloseHandle(hFileRes);
except
end;
end;