IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Limiter le FileSystemWatcher


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 5
    Par défaut Limiter le FileSystemWatcher
    Bonjour a tous.

    Voila, je suis en train d'ecrire un service qui a pour objectif de repertorier les modifications, renomages, suppressions des fichier des disques durs, effectue par les utilisateurs.

    Simplement, en lancant ce genre d'objet sur un disque entier, je me retrouve avec enormement de log provenant de windows lui meme (Prefect, log d'IE, acces a des DLL etc...)

    Est-il possible de ne repertoirier QUE les actions mene par les utilisateurs?

    Autre souci, je ne chope jamais l'evenement on_rename pour lequel j'ai ajoute la delegate qui va bien...
    Je ne log que des creation/modification/suppression et je ne vois vraiment pas pourquoi je ne hook pas le on_rename event. Vous auriez des idees?


    Merci de votre aide !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Pour le premier problème (filtrer les actions du système), je ne vois pas trop, vu que les évènements ne donnent aucune info sur l'utilisateur qui a fait l'action.
    Pour le 2e problème, tu est sûr d'avoir mis les bons flags dans NotifyFilter (il faut mettre le flag FileName) ? Chez moi ça marche bien en tous cas

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 5
    Par défaut
    En faite, au debut, je ne mettais pas de notifier.

    Ensuite j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NotifyFilters.FileName | NotifyFilters.DirectoryName
    Et la, je n'avais plus l'event de creation, ni de suppression, j'avais plus que les acces....

    Tu as mis quel NotifyFilter toi ?

    merci de ta reponse.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tous Mais ce n'est peut-être pas nécessaire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                w.NotifyFilter = NotifyFilters.Attributes
                                | NotifyFilters.CreationTime
                                | NotifyFilters.DirectoryName
                                | NotifyFilters.FileName
                                | NotifyFilters.LastAccess
                                | NotifyFilters.LastWrite
                                | NotifyFilters.Security
                                | NotifyFilters.Size;
    En fait je pense que les plus utiles sont :
    - CreationTime (pour détecter les créations de fichiers)
    - DirectoryName et FileName (pour les renommages de fichiers)
    - LastWrite (pour les modifications)

    Je ne sais pas trop lequel sert à détecter la suppression... il faudrait chercher dans la doc

    EDIT: A propose de NotifyFilter, la doc dit ceci :
    La valeur par défaut est la combinaison d'opérations de bits OR de LastWrite, FileName et de DirectoryName

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 5
    Par défaut
    Ouais, c'est pour ca que je suis reste sur une non modification du Filter

    donc ca explique que quand j'ai force la main au NotifyFilter, je n'avait plus les handler de creation. (j'avais lu le man mais ca fait un peut de temps

    Par contre, ca n'explique pas pourquoi je ne recoi jamais d'evenement de renomage...

    Sinon, pas d'idee pour ne recuperer que les evenement genere par les utilisateurs et pas par windows ?

    Merci pour votre aide.

Discussions similaires

  1. Limitation DirectSound
    Par Sub0 dans le forum DirectX
    Réponses: 1
    Dernier message: 28/02/2003, 11h21
  2. [Turbo Pascal] Limite de la mémoire virtuelle
    Par moon tiger dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 08/02/2003, 22h30
  3. Limiter le déplacement de la souris
    Par el_bouleto dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/11/2002, 23h56
  4. Comment limiter les mouvements du curseur??
    Par scorpiwolf dans le forum C++Builder
    Réponses: 9
    Dernier message: 07/07/2002, 22h09
  5. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 21h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo