FileSystemWatcher et suppression de dossier

Signaler
Messages postés
245
Date d'inscription
dimanche 27 avril 2003
Statut
Membre
Dernière intervention
26 septembre 2008
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,

je fais un petit programme de surveillance de fichier/dossier et j'ai un petit soucis. J'aimerai réagir à la suppression d'un fichier ou dossier dans un dossier. Je lie bien l'événement Deleted et ça réagit bien, mais j'aimerai savoir si l'élément supprimé est un fichier ou un dossier. Or, l'élément n'existant plus, je ne dispose que du path pour le faire. J'aurais bien regardé via l'extension mais certain fichiers peuvent ne pas avoir d'extension, du coup, je suis bloqué...

Quelqu'un a-t-il une idée de déterminer si l'élément est un dossier ou un fichier ? Ou encore mieux, comment réagir AVANT que le fichier/dossier ne soit supprimé...

Merci

Cours de programmation

1 réponse

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Salut, 

Utilises2 instances de FileSystemWatcher : une pour la surveillance des répertoires et l'autre pour la surveillance des fichiers.
Le filtrage du type se fait via la propriété NotifyFilter en spécifiant :
- FileName et pas DirectoryName + autres flags : uniquement les changements sur fichiers
- DirectoryName et pas FileName + autres flags : uniquement les changements sur répertoires

Par défaut les 2 sont spécifiés (avec d'autres flags) donc les notifications de changements sont mixtes.

Après si tu as besoin d'autres capacités tu peux regarder du côté de l'utilisation directe de ReadDirectoryChangesW (bien que je ne suis pas certains que tu aie plus de fonctionnalités, à vérifier) ou carrément des journaux NTFS mais là c'est autre chose.

/*
coq
MVP Visual C#
CoqBlog
*/