FileSystemWatcher
常用屬性:
Path:擷取或設定要監視的目錄的路徑
Filter:擷取或設定篩選字元串,用于确定在目錄中監視哪些檔案
NotifyFilter:擷取或設定要監視的更改類型。
EnableRaisingEvents:擷取或設定一個值,該值訓示是否啟用此元件。
常用事件:
OnChanged:執行Changed,Created,Deleted時引發改事件
OnRenamed:執行重命名時引發改事件
監控代碼:(
源碼.rar)

C#檔案監控
1 #region 監控檔案
2 public void Run()
3 {
4 //建立檔案監控對象
5 FileSystemWatcher watcher = new FileSystemWatcher();
6 //設定監控目錄
7 watcher.Path = path;
8 //定義監控類型
9 watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
10 | NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.CreationTime;
11 //定義監控的檔案類型
12 watcher.Filter = "*.*";
13
14 //綁定監控事件
15 watcher.Changed += new FileSystemEventHandler(OnChanged);
16 watcher.Created += new FileSystemEventHandler(OnChanged);
17 watcher.Deleted += new FileSystemEventHandler(OnChanged);
18 watcher.Renamed += new RenamedEventHandler(OnRenamed);
19
20 //true表示開始監控,啟用監控;false表示取消監控
21 watcher.EnableRaisingEvents = true;
22 }
23
24 private void OnChanged(object source, FileSystemEventArgs e)
25 {
26
27 string changedInfo = string.Format("File: {0} {1}", e.FullPath, e.ChangeType);
28 //因為UI上的線程非安全的,是以要使用Invoke
29 this.Invoke(new Method(AddItem),changedInfo);
30 }
31
32 private void OnRenamed(object source, RenamedEventArgs e)
33 {
34
35 string changedInfo = string.Format("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
36 //因為UI上的線程非安全的,是以要使用Invoke
37 this.Invoke(new Method(AddItem), changedInfo);
38
39 }
40 //把監控到的資訊添加到ListBox上
41 private void AddItem(string item)
42 {
43 listBox1.Items.Add(item);
44 }
45 #endregion