public SingleFileWatcher(ToolStrip ui, string path, SingleFileWathcerChangedHandler callback) { singleFileWathcerChangedHandler = callback; delex = new DelayExecuter(1000, delegate() { singleFileWathcerChangedHandler(); }); watcher = new System.IO.FileSystemWatcher(); //監視するディレクトリを指定 watcher.Path = Path.GetDirectoryName(path); //監視するファイルを指定 watcher.Filter = Path.GetFileName(path); //最終更新日時、ファイルサイズの変更を監視する watcher.NotifyFilter = (System.IO.NotifyFilters.Size |System.IO.NotifyFilters.LastWrite); //UIのスレッドにマーシャリングする watcher.SynchronizingObject = ui; //イベントハンドラの追加 watcher.Changed += new System.IO.FileSystemEventHandler(watcherChanged); watcher.Created += new System.IO.FileSystemEventHandler(watcherChanged); //監視を開始する watcher.EnableRaisingEvents = true; }
public SingleFileWatcher(ToolStrip ui, string path, SingleFileWathcerChangedHandler callback) { singleFileWathcerChangedHandler = callback; delex = new DelayExecuter(1000, delegate() { singleFileWathcerChangedHandler(); }); watcher = new System.IO.FileSystemWatcher(); //監視するディレクトリを指定 watcher.Path = Path.GetDirectoryName(path); //監視するファイルを指定 watcher.Filter = Path.GetFileName(path); //最終更新日時、ファイルサイズの変更を監視する watcher.NotifyFilter = (System.IO.NotifyFilters.Size | System.IO.NotifyFilters.LastWrite); //UIのスレッドにマーシャリングする watcher.SynchronizingObject = ui; //イベントハンドラの追加 watcher.Changed += new System.IO.FileSystemEventHandler(watcherChanged); watcher.Created += new System.IO.FileSystemEventHandler(watcherChanged); //監視を開始する watcher.EnableRaisingEvents = true; }