Zum Anhalten einfach in eine Wartefunktion mit waitforsingleobject o.ä. rennen lassen (was du anscheinend mit CritialThreadSection schon implementiert hast).
Die Dateiarbeit könnte aber auch die Ursache sein, warum suspendthread nicht funktioniert. Denn das klappt
IMHO nur im UserMode-Code. Gewisse Dateifunktionen switchen aber in den Kernel-Mode. Und das könnte u.U. eine weile dauern. In der Zeit bewirkt suspend evtl. nichts.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.