Filesystemwatcher Changed Event

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Filesystemwatcher Changed Event

    Huhu,

    Ich habe gerade das Problem, dass ich mit einem Filesystemwatcher ein Verzeichnis+Unterordner prüfen lasse und bei Veränderungen dies in eine Listbox eintragen lasse. So nun habe ich das problem, dass das Event auslöst und etwas in die Listbox schreibt wie z.B. "C:\Users\User\Desktop\Testordner", dies sagt zwar aus, dass etwas im Ordner verändert wurde, aber nicht welche Datei. Kann man das ändern ?

    VB.NET-Quellcode

    1. Private Sub test()
    2. Dim watcher As New IO.FileSystemWatcher
    3. AddHandler watcher.Changed, AddressOf Changed_watcher
    4. watcher.Path = "C:\Users\Users\Desktop\TestOrdner"
    5. watcher.IncludeSubdirectories = True
    6. watcher.EnableRaisingEvents = True
    7. End Sub
    8. Private Sub Changed_watcher(sender As Object, e As IO.FileSystemEventArgs)
    9. Me.Invoke(Sub() ListBox4.Items.Add(e.FullPath & e.Name))
    10. End Sub
    Hast Du ggf. was vergessen?

    VB.NET-Quellcode

    1. ' Watch for changes in LastAccess and LastWrite times, and
    2. ' the renaming of files or directories.
    3. watcher.NotifyFilter = (IO.NotifyFilters.LastAccess Or IO.NotifyFilters.LastWrite Or IO.NotifyFilters.FileName Or IO.NotifyFilters.DirectoryName)
    4. ' Only watch text files.
    5. watcher.Filter = "*.txt"
    Sieh Dir das Beispiel noch mal genau an
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!