Guardando una cartella utilizzando Win32
-
11-09-2019 - |
Domanda
Sto cercando un modo semplice per guardare i contenuti di una cartella utilizzando Win32 (obiettivo minimo è XP). Se possibile, sarebbe bello utilizzare un approccio event-driven piuttosto che un approccio di polling-tipo. A complicare le cose, la cartella controllata può essere una condivisione di rete.
Sono davvero solo interessato a catturare "nuovi files". Non mi importa se non sono informato di file rinominati o rimossi.
C'è un modo event-driven, o sta interrogando la mia unica scelta quando si tratta di Win32?
Soluzione
Hai provato FindFirstChangeNotification e FindNextChangeNotification . Scarica un codice sorgente di esempio dalla qui
Altri suggerimenti
FindFirstChangeNotification è l'API proprio qui, come dice Suraj. tuttavia ho trovato quando si usa questo (molti anni fa), che a volte non è riuscito se utilizzato per guardare una condivisione di rete con un'attesa infinita sulla maniglia ritorna. Ho semplicemente applicato un timeout e ripubblicato il FFCN ogni tanto, che ha risolto il problema.
Non so se gli aggiornamenti successivi del sistema operativo risolto questo problema, non ci siamo mai andati indietro e controllato: -)
.