Home » Tipps & Tricks » Dateien/Verzeichnisse » Dateieigenschaften » Ist eine Datei in Benutzung
Ist eine Datei in Benutzung
Die folgende Funktion prüft, ob eine Datei in Benutzung ist. Als Parameter muss der Pfad+Dateiname der Datei übergeben werden. Gibt die Funktion True zurück ist die Datei in Benutzung.
function IsFileInUse(Path: string): boolean;
var
hFile: THandle;
begin
Result := False;
if not FileExists(Path) then Exit;
hFile := CreateFile(pchar(Path), GENERIC_READ or GENERIC_WRITE or GENERIC_EXECUTE,
0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := hFile = INVALID_HANDLE_VALUE;
if not Result then CloseHandle(hFile);
end; {function IsFileInUse() ...}
Aufgerufen werden kann die Funktion beispielsweise so:
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsFileInUse(Application.Exename) then
Showmessage('Die Datei ist in Benutzung');
end;
