當受監視目錄中的文件的ReadOnly屬性發生更改時,FileSystemMonitor看起來沒有觸發'Changed'事件(並且沒有其他事件)。FileSystemWatcher - 更改只讀屬性的事件
這是我的測試代碼:
using System;
using System.IO;
namespace FSM
{
class Program
{
static FileSystemWatcher FolderMonitor;
static void Main(string[] args)
{
FolderMonitor = new FileSystemWatcher("C:\\MyImages");
FolderMonitor.IncludeSubdirectories = false;
FolderMonitor.Changed += FolderMonitor_Changed; ;
FolderMonitor.EnableRaisingEvents = true;
Console.WriteLine("Hit any key to terminate .....");
Console.ReadKey(true);
}
private static void FolderMonitor_Changed(object sender, FileSystemEventArgs e)
{
Console.WriteLine("**** \"" + e.Name + "\" changed.");
}
}
與該代碼,我收到了很多「改變」的事件,例如中如果修改時間戳發生了變化,但如果我正在更改任何標準屬性(如ReadOnly或Hidden),則不能修改。
我錯過了什麼,或者我打了一個「功能」?
似乎很奇怪。文檔說:「更改事件是在更改大小,**系統屬性**,上次寫入時間,上次訪問時間或正在監視的目錄中的文件或目錄的安全權限時引發的。」_ – stuartd