无法在C#中使用FileSystemWatcher监视文件夹

时间:2011-05-20 10:54:16

标签: c# filesystemwatcher .net

我正在尝试监视文件夹(及其子文件夹)的更改。但是,我的处理程序事件永远不会执行。我使用以下代码:

FileSystemWatcher m_Watcher = new FileSystemWatcher();
m_Watcher.Path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/Portal 2 Map Installer/"; 
m_Watcher.Filter = "";
m_Watcher.NotifyFilter = NotifyFilters.LastAccess |
             NotifyFilters.LastWrite |
             NotifyFilters.FileName |
             NotifyFilters.DirectoryName;
m_Watcher.IncludeSubdirectories = true;
m_Watcher.Changed += new FileSystemEventHandler(OnFolderChange);
m_Watcher.EnableRaisingEvents = true;

请帮忙!

2 个答案:

答案 0 :(得分:0)

为on error事件创建一个处理程序并查看它的内容:

  m_Watcher.Error += new ErrorEventHandler(OnError);

答案 1 :(得分:0)

Changed事件处理程序有一些注意事项:

  

重命名文件时意外引发Changed事件,但重命名目录时不会引发。要注意重命名,请使用Renamed事件。

因此,处理Renamed事件也是谨慎的(至少)。