Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Erkennen ob eine Datei gerade benutzt wird (https://www.delphipraxis.net/135619-erkennen-ob-eine-datei-gerade-benutzt-wird.html)

Dragon27 14. Jun 2009 23:44


Erkennen ob eine Datei gerade benutzt wird
 
Hallo,

ich habe das Problem, dass ich bei mehreren Dateien gleichzeitig Änderungen vornehmen muss. Nun würde
ich gerne irgendwie abfragen, ob die Dateien gerade benutzt werden. Gibt es da vielleicht eine
einfach Funktion die einen Booleanwert zurückgibt?

Danke!

quendolineDD 14. Jun 2009 23:51

Re: Erkennen ob eine Datei gerade benutzt wird
 
Mir würde nur einfallen, ebenso zu versuchen die Datei exklusiv zu öffnen und zu schauen, ob ein Fehler auftritt. Wenn jemand eine Datei nur lesend öffnet, wird dabei natürlich kein Fehler auftreten.

Edit: Die Forensuche lockte mich zu diesem Thread

Moony 17. Jun 2009 12:41

Re: Erkennen ob eine Datei gerade benutzt wird
 
Versuchs mal damit:

Delphi-Quellcode:
function IsFileInUse(const fName: TFileName): Boolean;
var HFileRes: HFILE;
begin
  if not FileExists(fName) then
  begin
    Result := false;
    Exit;
  end;

  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(HFileRes);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz