私はC#でFileSystemWatcherコンストラクタを使用しています。コースの一環として、私はウォッチャーに関心のディレクトリを見るようにしています。私が抱えている問題は、ユーザーイベント(コピー、作成、名前変更)に関係なく、私が取り上げているイベントはChangedイベントだけです。C#:FileSystemWatcherはChangedEventのみを送出します
たとえば、
ウォッチファイル "C:... \デスクトップ\ MattsRequest"
ファイルの作成 "C:... \デスクトップ\ MattsRequest \ Dummy.txt"
観察だけでonChangedイベントハンドラは、「変更」のFileSystemEventArgとパス引数でトリガーされると、「C:... \デスクトップ\ MattsRequest」でと作成されたどのファイルには言及
私のウォッチャーコードはそうそうです。
watcher = new FileSystemWatcher();
//watcher.IncludeSubdirectories = true;
watcher.InternalBufferSize = 32768 * 2;
//Can't use a synchro because I can't find an example of something that
//implements ISynchroniz-whatever
//watcher.SynchronizingObject =
watcher.Path = filePath;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName
| NotifyFilters.CreationTime;
watcher.Changed += OnChanged; //Gets triggered
watcher.Created += OnCreated; //Never triggered
watcher.Deleted += OnDeleted;
watcher.Renamed += OnRenamed; //Never triggered
watcher.Error += WatcherOnError; //Never triggered
// Begin watching.
watcher.EnableRaisingEvents = true;
以下は、監視対象のディレクトリに新しいファイルを作成したときのイメージと、発生したイベントです。それはもちろんChanged型のものですが、作成されたファイルは教えてくれません。
すべてのヘルプは大歓迎です。
ほとんどの場合、トップレベルのディレクトリを監視します。例えば、 "Desktop \ MattsRequest"と見るが、サブディレクトリ "Desktop \ MattsRequest \ MattsRequest \ Dummy.txt"にファイルを作成する。 – Evk
サブディレクトリの変更を追跡する場合は、 'watcher.IncludeSubdirectories = true; 'を設定してください。 – Evk
@Evk Hello Evk。あなたは問題が何であるか正確に正確でした。私はそれに緑色のチェックを与えることができるようにあなたのコメントを返信してもらえますか? –