Hiho,
bevor wir eine Datei löschen, übrprüfen wie, ob sie noch in Benutzung ist, und zwar so:
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.
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.