FileSystemWatcher 元件的疑難排解
更新:2007 年 11 月
使用 FileSystemWatcher 元件時,您可能會遇到下列情況:
Windows NT 4.0 電腦上不接受 UNC 路徑名稱
如果您在 Windows NT 4.0 版的電腦上使用 FileSystemWatcher 元件,同時嘗試設定其路徑來監視另一部 Windows NT 4.0 版電腦上的檔案系統活動,則將無法在 Path 屬性 (Property) 中指定以 UNC 為基礎的路徑值來指向所要監視的電腦。只有在 Windows 2000 電腦上工作時才能設定以 UNC 為基礎的值。
無法監看 Windows 95 或 Windows 98 目錄
如果將 FileSystemWatcher 元件設定為參考 Windows 95 或 Windows 98 電腦上的目錄,則當專案執行時,您會收到無效目錄路徑的錯誤。您無法使用 FileSystemWatcher 來監看執行 Windows 95 或 Windows 98 之電腦上的目錄。
單一動作產生多個 Created 事件
您可能會注意到,在某些情況下,單一建立事件會產生多個由元件所處理的 Created 事件。例如,若您使用 FileSystemWatcher 元件來監視目錄中是否建立新檔案,然後利用記事本建立檔案來進行測試,則雖然只是建立一個檔案,您還是可能會看到產生兩個 Created 事件。這是因為筆記本在寫入處理序期間會執行多個檔案系統動作。筆記本以批次方式寫入磁碟,先建立檔案的內容,再建立檔案屬性 (Attribute)。其他應用程式也可能以相同的方式執行作業。由於 FileSystemWatcher 是監視作業系統活動,因此將取得這些應用程式引發的所有事件。
注意事項: |
---|
記事本也可能會引發其他有趣的事件產生。例如,若您使用 NotifyFilter 指定只要監看屬性 (Attribute) 變更,接著使用記事本於監看目錄中寫入檔案,即會引發事件。這是因為記事本在這項作業期間會更新檔案的 Archived 屬性。 |
目錄產生未預期的事件
在使用 FileSystemWatcher 元件監視的目錄中變更檔案不僅會產生檔案的 Changed 事件,目錄本身也會產生類似的事件。這是因為目錄會為每個內含檔案維護幾種類型的資訊,包括檔案名稱和大小、修改日期、屬性 (Attribute) 等等。只要其中任一屬性 (Attribute) 變更,目錄也會產生相關的變更。
請參閱
工作
HOW TO:建立 FileSystemWatcher 元件執行個體