반응형
* 폴더 및 파일 감시 예제...
전체 소스 코드
Form1.vb
Public Class Form1
Dim fsw As IO.FileSystemWatcher
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
fsw = New IO.FileSystemWatcher
'VBNET 소스 코드 상에서 이벤트 등록...
AddHandler fsw.Created, AddressOf fileSystemWatcher_Created
AddHandler fsw.Deleted, AddressOf fileSystemWatcher_Deleted
AddHandler fsw.Renamed, AddressOf fileSystemWatcher_Renamed
AddHandler fsw.Changed, AddressOf fileSystemWatcher_Changed
'크로스 스레드 예외 처리...
CheckForIllegalCrossThreadCalls = False
End Sub
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
Dim fbd As FolderBrowserDialog = New FolderBrowserDialog
If (fbd.ShowDialog() = Windows.Forms.DialogResult.OK) Then
fsw.Path = fbd.SelectedPath
label3.Text = fbd.SelectedPath
'모든 파일 감시 ...
'Ex) *.txt 모든 텍스트 파일 감시...
fsw.Filter = "*.*"
fsw.NotifyFilter = IO.NotifyFilters.DirectoryName Or IO.NotifyFilters.Size Or IO.NotifyFilters.FileName
fsw.EnableRaisingEvents = True
End If
End Sub
Private Sub fileSystemWatcher_Created(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)
'파일 및 폴더가 생성 되면 이벤트 발생...
label5.Text = e.FullPath + ", " + e.Name + " Create Complete."
End Sub
Private Sub fileSystemWatcher_Deleted(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)
'파일 및 폴더가 삭제 되면 이벤트 발생...
label5.Text = e.FullPath + ", " + e.Name + " Delete Complete."
End Sub
Private Sub fileSystemWatcher_Renamed(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)
'파일 및 폴더가 이름이 바뀌게 되면 이벤트 발생...
label5.Text = e.FullPath + ", " + e.Name + " Change Complete"
End Sub
Private Sub fileSystemWatcher_Changed(ByVal o As Object, ByVal e As IO.FileSystemEventArgs)
label5.Text = e.FullPath + ", " + e.Name + " Change Complete"
End Sub
End Class
* 예제 결과
- 파일 크기가 변경 되거나 수정 되었을 경우
위와 같이 txt 파일이 7kb 이며 안에 내용이 수정 되었을 때 이벤트 발생
- 폴더가 생성 되거나 삭제 되었을 경우
* ↓↓↓ 아래의 C# 예제는 소스 코드 이벤트 등록이 아닌 컨트롤 사용 하는 방법
[C#] 파일 및 폴더 감시 (FileSystemWatcher)
[VBNET] 크로스 스레드 (Cross Thread) 예제
반응형
'VB.NET Programming' 카테고리의 다른 글
[VBNET] File CheckSum 예제 (MD5 Hash) (0) | 2019.10.17 |
---|---|
[VBNET] Log File - 로그 파일 작성 예제 (0) | 2019.10.15 |
[VBNET] FileCopy (파일 복사 예제) (0) | 2019.10.09 |
[VBNET] 프로그램 중복 실행 방지 (0) | 2019.10.07 |
[VBNET] Delay 함수 (0) | 2019.10.05 |