Könnte man nicht testen, ob sich die Datei exklusiv (fmOpenRead or fmShareExclusive) öffnen lässt?
Wenn die noch offen zum Schreiben ist, sollte das dann einen Fehler erzeugen.
ein kleines Beispiel: (Datei muss aber vorhanden sein)
Delphi-Quellcode:
function FileNotOpen(AFileName: string): Boolean;
begin
try
TFileStream.Create(AFileName, fmOpenRead or fmShareExclusive).Free;
Result := True;
except
Result := False;
end;
end;