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/)
-   -   Prism Prüfen ob Datei gesperrt (https://www.delphipraxis.net/59360-pruefen-ob-datei-gesperrt.html)

mumu 21. Dez 2005 09:52


Prüfen ob Datei gesperrt
 
Wie kann man in .NET prüfen, ob eine Datei gesperrt ist?

folgendes habe ich gefunden:
Code:
Public Function FileInUse(ByVal sFile As String) As Boolean
  ' Prüft, ob die angegeben Datei aktuell durch eine
  ' andere Anwendung in Benutzung ist
  Dim bInUse As Boolean = False

  If FileExists(sFile) Then
    Try
      ' Versuch, Datei EXKLUSIV zu öffnen
      Dim F As Short = FreeFile()
      FileOpen(F, sFile, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
      FileClose(F)
    Catch
      ' Bei Fehler ist die Datei in Benutzung
      bInUse = True
    End Try
  End If

  ' Rückgabewert
  Return (bInUse)
End Function
Public Function FileExists(ByVal sFile As String) As Boolean
  ' Prüft, ob die angegeben Datei existiert
  Return (System.IO.File.Exists(sFile))
End Function
jedoch find ich das blöd, da jedesmal ein exclusiver zugriff auf die datei gemacht wird. und das mit der exception gefällt mir auch nicht.

was kann man sonst noch machen?

mumu 21. Dez 2005 15:17

Re: Prüfen ob Datei gesperrt
 
wenn ich es mittels win32 mache, dann könnte ich ja CreateFile erzeugen und auf invalid handle prüfen. da würde ich dann keine exception erhalten.

gibt es eine ähnliche möglichkeit mit .net?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.

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