Home   Cover Cover Cover Cover
 

Ereignisse im Dateisystem abfangen

A03.cs
using System;
using System.IO;

class Test {
  
  static void Renamed(object sender, RenamedEventArgs e) {
    Console.WriteLine("{0} renamed to {1}", e.OldFullPath, e.FullPath);
  }
  
  static void Changed(object sender, FileSystemEventArgs e) {
    Console.WriteLine(e.FullPath + " " + e.ChangeType);
  }
  
  static void Main(string[] arg) {
    FileSystemWatcher w = new FileSystemWatcher();
    
    //--- Verzeichnis, in dem auf Ereignisse reagiert werden soll
    w.Path = "c:\\hm\\dotnet";
    
    //--- Worauf soll reagiert werden? Wenn Datei oder Verzeichnis
    //--- gelesen oder ge�ndert wird, bzw. wenn sich der Name �ndert.
    w.NotifyFilter = 
      NotifyFilters.FileName | NotifyFilters.DirectoryName |
      NotifyFilters.LastAccess | NotifyFilters.LastWrite;
      
    //--- Welche Dateien sollen betroffen sein? ("" = alle Dateien)
    w.Filter = "";
    
    //--- Delegates f�r die gew�nschten Events registrieren
    w.Created += new FileSystemEventHandler(Changed);
    w.Deleted += new FileSystemEventHandler(Changed);
    w.Changed += new FileSystemEventHandler(Changed);
    w.Renamed += new RenamedEventHandler(Renamed);
    
    //--- Beobachtung starten
    w.EnableRaisingEvents = true;
    
    //--- Programm in Warteschleife versetzen, w�hrend der Ereignisse auftreten k�nnen
    Console.WriteLine("type any key to quit");
    Console.Read();
  }
  
}