Во-первых, вам нужно настроить систему для отслеживания событий файлов из этой папки.
Для начала взгляните на FindFirstChangeNotification ().
Вы в основном получите ожидаемую ручку от этого.
Тогда, если бы это был я, у меня была бы нить, ожидающая этого события. Каждый раз, когда происходит событие, поток возобновляет работу, запрашивает сведения об изменении (какой файл), затем выполняет необходимые действия и снова возобновляет спящий режим для этого дескриптора.
Вам понадобится дополнительный семафор или что-то еще, чтобы использовать его, чтобы прервать этот рабочий поток и разбудить его, чтобы вы могли сказать ему выйти. Это просто сделать: сделать основной цикл вашего потока WaitForMultipleObjects - семафором пробуждения и дескриптором FindFirstChangeNotification. Когда вы просыпаетесь, проверьте, кто даже уведомил вас, затем либо обработайте изменение файла, либо выйдите.