[ad#ad-336×280]
指定したパスのサブフォルダまで監視できるようにするには、IncludeSubdirectoriesプロパティにTrueを設定します。
下記は、指定したパスのサブフォルダを監視する例です。
C:\Workパス以下のサブフォルダにあるファイルの変更を監視します。
VBの例
' フォームロード時の処理
Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'監視するファイルがある(または作成される)フォルダを設定する
FileSystemWatcher1.Path = "C:\Work"
'フィルターの設定
FileSystemWatcher1.Filter = "*"
'監視対象をファイル&最終書込日時とする
FileSystemWatcher1.NotifyFilter = IO.NotifyFilters.FileName Or IO.NotifyFilters.LastWrite
'★★★指定したパスのサブフォルダを監視する
FileSystemWatcher1.IncludeSubdirectories = True
End Sub
' 変更されたときの処理
Private Sub FileSystemWatcher1_Changed(sender As System.Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed
MessageBox.Show("変更されました")
End Sub
' 作成されたときの処理
Private Sub FileSystemWatcher1_Created(sender As System.Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Created
MessageBox.Show("作成されました")
End Sub
' 削除されたときの処理
Private Sub FileSystemWatcher1_Deleted(sender As System.Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Deleted
MessageBox.Show("削除されました")
End Sub
' リネームされたときの処理
Private Sub FileSystemWatcher1_Renamed(sender As System.Object, e As System.IO.RenamedEventArgs) Handles FileSystemWatcher1.Renamed
MessageBox.Show("リネームされました")
End Sub
C#の例
// フォームロード時の処理
private void Form3_Load(object sender, EventArgs e)
{
// 監視するフォルダを設定する
fileSystemWatcher1.Path = @"C:\Work";
// フィルターの設定
fileSystemWatcher1.Filter = "*";
// 監視対象をファイル&最終書込日時とする
fileSystemWatcher1.NotifyFilter = System.IO.NotifyFilters.FileName |
System.IO.NotifyFilters.LastWrite;
// ★★★指定したパスのサブフォルダを監視する
fileSystemWatcher1.IncludeSubdirectories = true;
}
// 変更されたときの処理
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show("変更されました");
}
// 作成されたときの処理
private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show("作成されました");
}
// 削除されたときの処理
private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
MessageBox.Show("削除されました");
}
// リネームされたときの処理
private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
{
MessageBox.Show("リネームされました");
}
Please follow and like us:
コメント