Question

J'utilise cette implémentation de ReadDirectoryChangesW pour surveiller les changements au bureau . Mon programme prévoit de lancer un petit programme lorsqu'un fichier est créé sur le bureau.

Maintenant, le problème que je suis en cours d'exécution en est lorsque je crée un nouveau raccourci via le menu contextuel contextuel clic ReadDirectoryChangesW reçoit une notification indiquant que le fichier a été créé, mais juste après il obtient une autre notification indiquant que le fichier a été supprimé. Je suis en cours d'exécution dans ce problème depuis Windows Vista.

Quelqu'un a une idée de ce qui pourrait être erroné? Y at-il une autre fonction que je devrais utiliser pour surveiller les changements de répertoire spécifiques à Vista et 7?

Merci, Krishna

Était-ce utile?

La solution 3

J'ai réussi à résoudre ce problème. Je ne sais toujours pas pourquoi je reçois tous ces événements étranges ReadDirectyChangesW mais je suis mon résultat final donc je quittais cette question soit.

Merci pour toute l'aide.

Autres conseils

Windows ne des choses amusantes avec les fichiers .lnk de sorte que vous ne pouvez pas voir l'extension .lnk. Peut-être que la raison pour laquelle la notification est envoyée supprimé, parce que Windows lui-même ne peut pas voir le fichier « New shortcut.lnk », seul le « Nouveau raccourci ». Mais cela est juste une théorie.

Alors ce que je ferais est d'essayer de travailler autour d'elle, et ignorer la notification supprimé fichier si le fichier existe toujours. En supposant que vous pouvez comprendre que le fichier .lnk existe encore bien sûr:)

Avez-vous défini des filtres. Vous pouvez voir des raccourci recréée (et ne correspond pas à votre filtre)

Explorateur tend à créer des choses avec un nom fixe, puis les renommer. Alors ReadDirectoryChangesW verra plusieurs changements.

pensées supplémentaires:

Note, le tampon à la notification de changement peut contenir plusieurs notifications, sont tous en cours de lecture.

Qu'est-ce que Process Monitor montrent en même temps?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top