Wie kann man rausfinden welche Dateien geöffnet sind / ausgeführt werden ?
Hintergrund:
Ich schreibe derzeit an einem Backupprogramm und bekomme eine Sache nicht 100% zum laufen.
Das Programm bricht immer bei geöffneten Dateien ab.
Angefangen habe ich mit einem CopyFile Befehl und CopyDir (TSHFileOpStruct).
CopyDir musste ich alsbald austauschen, da ich:
1. keine Progressbar in mein Programm bekomme
2. keine Dateien excluden kann
Den ursprünglichen CopyDir Befehl habe ich dann über Board geschmissen und bin wie folgt vorgegangen:
-ListAllFolders
-ListAllFiles
-Abgleich der Files mit einer ListBox zum excluden und Multiselect mit DeleteSelectet
-CopyFile
Es klappt auch soweit, ich kann angeben welche Dateien oder Ordner ich nicht kopieren will (ua NTUSER.Dat,pagefile.sys...).
Nur gibt es nach wie vor das Problem, das ich nicht alle derzeit geöffneten Dateien kenne.
Gibt es also eine Möglichkeit zur komfortablen Auflistung der benutzen Dateien in meinem Programm, so das ich sie zur Laufzeit excluden kann ?
Natürlich habe ich mich ein bisschen umgeschaut:
- aber Unlockfiles und das Treiberschreiben sind derzeit erstens noch ausserhalb meiner Reichweite und zweitens zu "overpowert" .
- NET_API_STATUS ist wie der Name schon sagt nicht local geeignet und was locales habe ich nicht gefunden
Edit:
- mitlerweile hab ich das Problem anderweitig gelöst
Die Frage finde ich aber immer noch interessant, man will ja was dazu lernen.