Überprüfen, ob File in Bearbeitung ist

DrMueller

Erfahrenes Mitglied
Hiho,
bevor wir eine Datei löschen, übrprüfen wie, ob sie noch in Benutzung ist, und zwar so:

Code:
 On Error Resume Next
      FileNr = FreeFile
      Open FileName For Input Lock Write As #FileNr
        errNr = Err.Number
        errDesc = Err.Description
      Close #FileNr
    On Error GoTo 0
  
    'Ggf. Fehler verarbeiten:
    Select Case errNr
      Case 0    'kein Fehler:
        WriteDBGView "in FilesInUse.case0", App.EXEName            
        FilesInUse = False
      Case 70, 55  'Permission denied/already open':
        WriteDBGView "in FilesInUse.case70,55", App.EXEName         
        FilesInUse = True
      Case 53 'File not Found - evtl. inzwischen eingecheckt worden
        FilesInUse = False
      Case Else 'sonstiger Fehler:
        WriteDBGView "in FilesInUse.caseElse", App.EXEName           
    End Select

Das klappt soweit gut, nur scheint der Windows Picture Manager Dateien nicht als in Use zu kennzeichnen, was bedeutet, dass eine Datei, mit diesem Programm geöffnet, direkt gelöscht wird.

Ich könnte zwar etwas basteln mit Kopieren der File, vlt. mit FSO, aber da habe ich ja keine Ausgabe, sondern kann nur auf Exists überprüfen.

Gibt es da vielleicht einen sauberen Weg?


Wie immer vielen Dank im Voraus.
 
Zurück