|
|
Trapping events in the file system
/csbook/solutions/11/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();
}
}
|
|