私は、Windows Formsアプリケーションを使用してディレクトリを監視し、その中にドロップされたファイルを別のディレクトリに移動します。FileSystemWatcherを使用してディレクトリを監視する
現在のところ、ファイルを別のディレクトリにコピーしますが、別のファイルを追加するとエラーメッセージなしで終了します。場合によっては、2つのファイルをコピーして3つ目のファイルを終了することもあります。
これはコンソールアプリケーションではなくWindowsフォームアプリケーションを使用しているためですか?プログラムが終了するのを止め、ディレクトリを見続ける方法はありますか?
private void watch()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
'watcher'変数は、Changedイベントを購読しているので、生きている(ガベージコレクションされません)。 – adospace