FileSystemWatcher работает некорректно - C#
Формулировка задачи:
В программе имеется FileSystemWatcher, настроенный на мониторинг всех изменений во всех папках на диске. При безвозвратном удалении файла с этого диска событие OnDeleted элемента срабатывает, а вот при перемещении файла или его удалении в Корзину (т.е. то же перемещение в папку D:\Recycle.Bin) ни одно из событий Watcher'а не срабатывает (даже OnError). Пробовал увеличить размер InternalBuffer'а, безрезультатно.
Что можно с этим сделать? Или какие есть альтернативы этому компоненту?
Заранее спасибо за ответы/советы.
Решение задачи: «FileSystemWatcher работает некорректно»
textual
Листинг программы
static void Main()
{
FileSystemWatcher watcher = new FileSystemWatcher(".\\", "*");
watcher.NotifyFilter = NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.Security | NotifyFilters.Size;
watcher.Renamed += new RenamedEventHandler(WatcherCallback);
watcher.Changed += new FileSystemEventHandler(WatcherCallback);
watcher.Created += new FileSystemEventHandler(WatcherCallback);
watcher.Deleted += new FileSystemEventHandler(WatcherCallback);
watcher.InternalBufferSize = 10000;
watcher.IncludeSubdirectories = true;
watcher.EnableRaisingEvents = true;
Console.ReadLine();
}
static void WatcherCallback(object sender, FileSystemEventArgs e)
{
Console.WriteLine("{0} -> {1}", e.FullPath, e.ChangeType);
}