반응형

* 폴더 및 파일 감시 예제...

 

메인화면

전체 소스 코드

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)

 

[C#] 파일 및 폴더 감시 (FileSystemWatcher)

* 파일 및 폴더 감시 예제... Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; usin..

kdsoft-zeros.tistory.com

 

 

[VBNET] 크로스 스레드 (Cross Thread) 예제

 

[VBNET] 크로스 스레드 (Cross Thread) 예제

* 크로스 스레드 - 자신의 스레드가 아닌 다른 스레드가 그 컨트롤에 접근 했을 때 나는 오류 *해결 방법 예제 Form1.vb Public Class Form1 ' 스레드의 동작을 제어하는 메서드 ' Abort():강제 종료 ' Interrup..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts