对指定文件夹监听,捕获新建,更改等操作。1.新建TextBox,设为支持多行,Name=TextBoxInfo2.新建两个按钮,开始和终了,分别表示开始监听和停止监听3.添加处理, Private watcher As System.IO.FileSystemWatcher = Nothing 'Button1のClickイベントハンドラ Private Sub Button1_Click()Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click If Not (watcher Is Nothing) Then Return End If watcher = New System.IO.FileSystemWatcher '監視するディレクトリを指定 watcher.Path = "D:Temp" '最終アクセス日時、最終更新日時、ファイル、フォルダ名の変更を監視する watcher.NotifyFilter = System.IO.NotifyFilters.LastAccess Or _ System.IO.NotifyFilters.LastWrite Or _ System.IO.NotifyFilters.FileName Or _ System.IO.NotifyFilters.DirectoryName 'すべてのファイルを監視 watcher.Filter = "" 'UIのスレッドにマーシャリングする 'コンソールアプリケーションでの使用では必要ない watcher.SynchronizingObject = Me 'イベントハンドラの追加 AddHandler watcher.Changed, AddressOf watcher_Changed AddHandler watcher.Created, AddressOf watcher_Changed AddHandler watcher.Deleted, AddressOf watcher_Changed AddHandler watcher.Renamed, AddressOf watcher_Renamed '監視を開始する watcher.EnableRaisingEvents = True Console.WriteLine("監視を開始しました。") If Me.TextBoxInfo.Text = "" Then Me.TextBoxInfo.Text = CurrentTime() & "監視を開始しました。" Else Me.TextBoxInfo.Text = Me.TextBoxInfo.Text & ControlChars.CrLf & CurrentTime() & "監視を開始しました。" End If SetScrollBarPosition() End Sub 'Button2のClickイベントハンドラ Private Sub Button2_Click()Sub Button2_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button2.Click '監視を終了 watcher.EnableRaisingEvents = False watcher.Dispose() watcher = Nothing Console.WriteLine("監視を終了しました。") Me.TextBoxInfo.Text = Me.TextBoxInfo.Text & ControlChars.CrLf & CurrentTime() & "監視を開始しました。" SetScrollBarPosition() End Sub 'イベントハンドラ Private Sub watcher_Changed()Sub watcher_Changed(ByVal source As System.Object, _ ByVal e As System.IO.FileSystemEventArgs) Select Case e.ChangeType Case System.IO.WatcherChangeTypes.Changed Console.WriteLine(("ファイル 「" + e.FullPath + _ "」が変更されました。")) Me.TextBoxInfo.Text = Me.TextBoxInfo.Text & ControlChars.CrLf & CurrentTime() & "ファイル 「" & e.FullPath & "」が変更されました。" Case System.IO.WatcherChangeTypes.Created Console.WriteLine(("ファイル 「" + e.FullPath + _ "」が作成されました。")) Me.TextBoxInfo.Text = Me.TextBoxInfo.Text & ControlChars.CrLf & CurrentTime() & "ファイル 「" & e.FullPath & "」が作成されました。" Case System.IO.WatcherChangeTypes.Deleted Console.WriteLine(("ファイル 「" + e.FullPath + _ "」が削除されました。")) Me.TextBoxInfo.Text = Me.TextBoxInfo.Text & ControlChars.CrLf & CurrentTime() & "ファイル 「" & e.FullPath & "」が削除されました。" End Select SetScrollBarPosition() End Sub Private Sub watcher_Renamed()Sub watcher_Renamed(ByVal source As System.Object, _ ByVal e As System.IO.RenamedEventArgs) Console.WriteLine(("ファイル 「" + e.FullPath + _ "」の名前が変更されました。")) Me.TextBoxInfo.Text = Me.TextBoxInfo.Text & ControlChars.CrLf & CurrentTime() & "ファイル 「" & e.FullPath & "」の名前が変更されました。。" SetScrollBarPosition() End Sub Private Sub SetScrollBarPosition()Sub SetScrollBarPosition() 'カレット位置を末尾に移動 TextBoxInfo.SelectionStart = TextBoxInfo.Text.Length 'テキストボックスにフォーカスを移動 TextBoxInfo.Focus() 'カレット位置までスクロール TextBoxInfo.ScrollToCaret() End Sub Private Function CurrentTime()Function CurrentTime() As String Return Now.ToString("yyyy/MM/dd hh:mm:ss FFF") & " " End Function