Domanda

questa implementazione di ReadDirectoryChangesW per monitorare i cambiamenti al tavolo . Il mio programma prevede di eseguire qualche piccolo programma quando viene creato un file sul desktop.

Ora il problema che sto funzionando in è quando creo un nuovo collegamento mediante il menu contestuale ReadDirectoryChangesW ottiene un messaggio che indica che il file è stato creato, ma subito dopo si arriva un'altra notifica dicendo che il file è stato eliminato. Sono stato in esecuzione in questo problema dal momento che Windows Vista.

Qualcuno ha idea di che cosa potrebbe essere sbagliato? C'è un'altra funzione dovrei usare per monitorare i cambiamenti di directory specifiche per Vista e 7?

Grazie, Krishna

È stato utile?

Soluzione 3

Sono riuscito a risolvere il problema. Io ancora non so perché sto ottenendo tutti quegli eventi ReadDirectyChangesW strani ma ho ottenuto il mio risultato finale così lascio a questa domanda sia.

Grazie per tutto l'aiuto.

Altri suggerimenti

di Windows fa alcune cose divertenti con i file .lnk in modo che non si può vedere l'estensione .lnk. Forse è per questo che la notifica viene inviata cancellato, perché Windows stesso non può vedere il file "Nuovo shortcut.lnk", solo il "Nuovo collegamento". Ma questa è solo una teoria.

Quindi quello che vorrei fare è cercare di lavorare intorno ad esso, e ignorare la notifica di file eliminati se il file esiste ancora. Supponendo che si riesce a capire che il file .lnk esiste ancora ovviamente:)

Avete definito alcun filtro:. Si potrebbe vedere il collegamento viene ricreato (e che non corrisponde alla filtro)

Explorer tende a creare le cose con un nome fisso, e poi rinominarli. Così ReadDirectoryChangesW vedrà più modifiche.

pensieri supplementari:

Nota, il buffer con la notifica di modifica può contenere più notifiche, sono tutti in fase di lettura.

Che cosa significa Process Monitor mostrano allo stesso tempo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top