Mit diesem Snippet kann für eine beliebige Datei überprüft werden, ob diese z.B. durch eine neue Version ersetzt werden kann. Spezielle Anwendung wäre z.B. das Prüfen einer DLL-Datei. Wird diese gerade durch ein Programm benutzt, so liefert diese Funktion entsprechend ein True.
Public Function WirdDieDateiVerwendet(ByVal vollerPfad As String) As Boolean
Dim freieDatei As Integer = FreeFile()
Dim dateiWirdVerwendet As Boolean
dateiWirdVerwendet = False
'>>> Prüfen, ob die Datei existiert
If System.IO.File.Exists(vollerPfad) Then
Try
'>>> Versuch, die Datei mit exklusiven Lese- und Schreibrechten zu öffnen
FileOpen(freieDatei, vollerPfad, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
Catch
'>>> Tritt ein Fehler auf, so wird die Datei gerade verwendet (oder aber es liegt ein Rechteproblem oder ähnliches vor)
dateiWirdVerwendet = True
Finally
'>>> Schließen der ggf. geöffneten Datei
FileClose(freieDatei)
End Try
End If
Return dateiWirdVerwendet
End Function
1 Kommentare zum Snippet