Se me ocurre una solución fácil y 2 difíciles.
Fácil:
Para saber que se ha finalizado el envío de una base, que el Pocket envíe primero la base y luego un archivo con el mismo nombre, pero con extensión .FIN
Cuando veas un archivo con esa extensión, lo borras y procesas la base.
El archivo .FIN asegura que la base se terminó de transmitir y que llegó completamente.
Difícil 1:
Hacer un hook al sistema de archivos (no tengo ni idea de como se hace esto) y recibir los mensajes de escritura de archivos. Cuando veas que uno finaliza, empiezas a procesar.
Esto no garantiza que el archivo esté completo
Difícil 2:
Ir mirando mediante alguna API de Windows, los usuarios que están utilizando un archivo. Cuando no haya más usuarios, supones que el archivo ha llegado completo y que es correcto.
|