VB.NET
* Public Class Form1

Private Sub FileSystemWatcher1_Changed(ByVal sender As System.Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed, FileSystemWatcher1.Deleted, FileSystemWatcher1.Created
ListBox1.Items.Add(e.FullPath)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ListBox1.SelectedIndex <> -1 Then
System.Diagnostics.Process.Start(ListBox1.SelectedItem)
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SaveFileDialog1.ShowDialog()
If ListBox1.SelectedIndex <> -1 Then
FileCopy(ListBox1.SelectedItem, SaveFileDialog1.FileName)
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If ListBox1.SelectedIndex <> -1 Then
Kill(ListBox1.SelectedItem)
End If
End Sub

Private Sub FileSystemWatcher1_Renamed(ByVal sender As System.Object, ByVal e As System.IO.RenamedEventArgs) Handles FileSystemWatcher1.Renamed
ListBox1.Items.Add(e.OldFullPath + " 가 " + e.Name + " 로 이름이 변경 되었습니다")
End Sub
End Class 

 

 

1.png

 

* 지정한 경로의 드라이브, 폴더에 폴더,파일의 변경이 있을 경우 이벤트가 발생한다

* 하위폴더도 감시(?) 할려면 FileSystemWatcher속성에서 IncludeSubdirectories를 Ture로 변경한다

* 유투브 예제에 폴더,파일 이름이 변경 되었을때 이벤트를 표시해주는 코드를 추가 했음

*소스파일 : 20131230-FileSystemWatcher.zip

 

<보완 해봐야 할것>

1.폴더,파일 생성,삭제,복사를 구분해서 표시 해보자

2.하위폴더에  이벤트 발생시에 ListBox에 두줄이 표시돼는 현상을 해결해 보자