.NET:FileSystemWatcherで複数フィルタ指定

FileSystemWatcher::filterがひとつしか指定できないので

string arg[0] = "C:\TEMP";
string arg[1] = "*.cpp|*.h|*.txt";

string[] filter = args[1].Split('|');
for (int i = 0; i < filter.Length; i++)
{
    FileSystemWatcher watcher = new FileSystemWatcher();

    watcher.Path = args[0];
    watcher.Filter = filter[i];
    watcher.IncludeSubdirectories = true;
    watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName;
    watcher.Changed += new FileSystemEventHandler(OnFileChanged);
    watcher.Renamed += new RenamedEventHandler(OnFileChanged);
    watcher.EnableRaisingEvents = true;
}
で解決。

コメント

このブログの人気の投稿

AI画像生成の力をかりる

君たちはどう生きるか