function DateiBenutzt(datei: string): byte;
var
HF: HFile;
begin
if FileExists(datei) then begin
HF := CreateFile(PChar(datei), GENERIC_READ or GENERIC_WRITE, 0, nil,
OPEN_EXISTING, 0, 0);
result := ord(HF = INVALID_HANDLE_VALUE);
CloseHandle(HF);
end else result := 2;
end;
// Beispielaufruf
procedure TForm1.Button6Click(Sender: TObject);
var s, d: string;
begin
d := 'd:\zeitung\zz38.doc';
case DateiBenutzt(d) of
0: s := ' ist nicht in Benutzung';
1: s := ' wird bereits benutzt';
2: s := ' nicht gefunden';
end;
showmessage(d + s);
end;