2010-07-29 57 views
3

我的問題是爲什麼當使用FileSystemWatcher類來監視何時保存excel文件FileSystemEventArgs迴避.Deleted? 當監控.txt格式文件時,它是。更改FileSystemWatcher類

回答

8

我想:因爲Excel首先創建一個臨時文件,將信息寫入那裏,而不是刪除原始.xls文件並重命名該臨時文件。

如果保存操作失敗,Excel可能會確保原始文件不會丟失。

+0

我確認這是發生了什麼事。通過使用SysInternals的免費Process Monitor軟件可以清楚地看到。 – 2010-07-29 15:27:56

3

它看起來像Excel可能會刪除並重新創建您正在觀看的文件。從經驗上證明這一點的一種方法是讓您的應用程序監視文件運行,然後打開並將文件保存在另一個應用程序中,例如記事本。如果這隻會導致Changed事件被觸發,那麼它就是Excel導致觸發Deleted事件。