Zitat von
Baeuerle:
so jetzt wird es mal richtig schwierig
Schwierig ist relativ, ich würde eher sagen 'aufwändig'
Zitat von
Baeuerle:
Wie kann ich geöffnete bzw. vom System gesperrte Dateien kopieren ?
Definiere "vom System gesperrt"...
Ein möglicher Ansatz könnte bei
DuplicateHandle beginnen. Allerdings besteht das 'aufwändige' Problem darin, an die notwendigen Parameter zu gelangen (z.B.: welches
Handle gehört zum gesuchten Dateiobjekt? - eine dokumentierte Antwort auf die Frage in Form einer
Win32-
API gibt's nicht).
Zitat von
Baeuerle:
Eine Anwendung öffnet eine Datei im Modus fmShareExclusive eine zweite Anwendung soll diese geöffnete Datei aber kopieren!
Das Kopieren wird zu Problemen führen. Beispiel: die Anwendung mit exklusivem Zugriff geht davon aus, dass sich der Dateizeiger des Objekts nicht ändert - beim Kopieren durch die zweite Anwendung wäre es unvermeidlich diesen zu ändern. Über die dokumentierten
Win32-APIs gibt es keinen Weg um dieses Problem sauber zu lösen (man müsste alle Zugriffe auf das Dateiobjekt durch 'andere' unterbinden - nur wie?, das ist die Frage...).