ReadDirectoryChangesW pensa scorciatoia viene eliminata subito dopo la creazione
-
16-09-2019 - |
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
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?