// DISCLAIMER: Use this code at your own risk. // No support is provided and this code has NOT been tested. using System; using System.IO; using System.Collections.Generic; using System.Text; namespace SampleFileSystemWatcher { class Program { static void Main(string[] args) { DelayedFileSystemWatcher dfw = new DelayedFileSystemWatcher(@"C:\_Work\SampleFileSystemWatcher\SampleFileSystemWatcher\bin\WatchedFiles", "*.*"); dfw.Changed += new FileSystemEventHandler(Program.FileSystemEventHandlerMethod); dfw.Created += new FileSystemEventHandler(Program.FileSystemEventHandlerMethod); dfw.Deleted += new FileSystemEventHandler(Program.FileSystemEventHandlerMethod); dfw.Error += new ErrorEventHandler(Program.ErrorEventHandlerMethod); dfw.Renamed += new RenamedEventHandler(Program.RenamedEventHandlerMethod); dfw.IncludeSubdirectories = true; dfw.ConsolidationInterval = 1000; dfw.EnableRaisingEvents = true; System.Threading.Thread.Sleep(60000); dfw.Dispose(); } private static void FileSystemEventHandlerMethod(object sender, FileSystemEventArgs e) { PrintFileSystemEventHandler(e); System.Console.WriteLine(); } private static void ErrorEventHandlerMethod(object sender, ErrorEventArgs e) { System.Console.WriteLine(e.GetException().Message); System.Console.WriteLine(); } private static void RenamedEventHandlerMethod(object sender, RenamedEventArgs e) { PrintRenamedEventHandler(e); System.Console.WriteLine(); } private static void PrintFileSystemEventHandler(FileSystemEventArgs e) { System.Console.WriteLine(e.Name); System.Console.WriteLine(e.FullPath); System.Console.WriteLine(e.ChangeType); } private static void PrintRenamedEventHandler(RenamedEventArgs e) { PrintFileSystemEventHandler(e); System.Console.WriteLine(e.OldName); System.Console.WriteLine(e.OldFullPath); } } }