Man hätte es vielleicht auch noch mit einer Transaction versuchen können, aber ich hab keine Ahnung, ob und wie sich das auf Schreib-/Löschversuche durch andere Programme auswirkt.
Allerdings würde ich "vermuten", dass sich für die Anderen nichts ändert, gegenüber einem "normalen" CreateFile und dessen Sperren/Freigaben.
CreateFile CreateFileTransacted
Meine Interpretation
Transaction = schütze Andere und die Datei vor mir
ShadowCopy = schütze mich vor den Anderen
Und die ganz harte Variante (Thread-Priorität = Critical) wäre vielleicht möglich, aber auch keine gute Lösung.
> der eigene Prozess nimmt die CPU voll in Besitz, während sie auf die Datei zugreift ... andere Programme kommen währenddessen zu nichts und kommen erst nach dem Zugriff wieder zu sonstwas, wie z.B. um die Datei dann zu löschen.