다음을 통해 공유


WatcherChangeTypes 열거형

파일 또는 디렉터리에 대해 발생할 수 있는 변경 내용입니다.

이 열거형에는 멤버 값를 비트로 조합할 수 있는 FlagsAttribute 특성이 있습니다.

네임스페이스: System.IO
어셈블리: System(system.dll)

구문

‘선언
<FlagsAttribute> _
Public Enumeration WatcherChangeTypes
‘사용 방법
Dim instance As WatcherChangeTypes
[FlagsAttribute] 
public enum WatcherChangeTypes
[FlagsAttribute] 
public enum class WatcherChangeTypes
/** @attribute FlagsAttribute() */ 
public enum WatcherChangeTypes
FlagsAttribute 
public enum WatcherChangeTypes

멤버

  멤버 이름 설명
All 파일 또는 폴더의 만들기, 삭제, 변경, 또는 이름 바꾸기 이벤트입니다. 
Changed 파일 또는 폴더에 대한 변경 내용입니다. 변경 내용 형식에는 크기, 특성, 보안 설정, 마지막 작성 시간 및 마지막 액세스 시간 등의 변경이 있습니다. 
Created 파일 또는 폴더 만들기입니다. 
Deleted 파일 또는 폴더 삭제입니다. 
Renamed 파일 또는 폴더의 이름 바꾸기입니다. 

설명

WatcherChangeTypes 멤버는 FileSystemWatcher의 이벤트와 관련되어 있습니다. 이벤트에 대한 자세한 내용은 Created, Deleted, ChangedRenamed를 참조하십시오.

예제

다음 예제에서는 FileSystemWatcher를 작성하여 디스크 드라이브에서 발생하는 만들기, 삭제, 이름 바꾸기, 변경과 같은 파일 변경 사항을 모니터링하는 방법을 보여 줍니다. 예제에서는 오류 알림을 받는 방법도 보여 줍니다.

Imports System.IO

Module Module1
    Sub Main()
        ' Create a FileSystemWatcher to monitor all files on drive C.
        Dim fsw As New FileSystemWatcher("C:\")

        ' Watch for changes in LastAccess and LastWrite times, and
        ' the renaming of files or directories. 
        fsw.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite _ 
            Or NotifyFilters.FileName Or NotifyFilters.DirectoryName)

        ' Register a handler that gets called when a 
        ' file is created, changed, or deleted.
        AddHandler fsw.Changed, New FileSystemEventHandler(AddressOf OnChanged)

        ' The commented line of code below is a shorthand of the above line.
        ' AddHandler fsw.Changed, AddressOf OnChanged

        ' NOTE: The shorthand version is used in the remainder of this code.
        ' FileSystemEventHandler
        AddHandler fsw.Created, AddressOf OnChanged 
        ' FileSystemEventHandler
        AddHandler fsw.Deleted, AddressOf OnChanged

        ' Register a handler that gets called when a file is renamed.
        ' RenamedEventHandler
        AddHandler fsw.Renamed, AddressOf OnRenamed

        ' Register a handler that gets called if the 
        ' FileSystemWatcher needs to report an error.
        ' ErrorEventHandler
        AddHandler fsw.Error, AddressOf OnError

        ' Begin watching.
        fsw.EnableRaisingEvents = True

        ' Wait for the user to quit the program.
        Console.WriteLine("Press 'Enter' to quit the sample.")
        Console.ReadLine()
    End Sub

    ' This method is called when a file is created, changed, or deleted.
    Private Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)

        ' Show that a file has been created, changed, or deleted.
        Dim wct As WatcherChangeTypes = e.ChangeType
        Console.WriteLine("File {0} {1}", e.FullPath, wct.ToString())
    End Sub

    ' This method is called when a file is renamed.
    Private Sub OnRenamed(ByVal source As Object, ByVal e As RenamedEventArgs)

        ' Show that a file has been renamed.
        Dim wct As WatcherChangeTypes = e.ChangeType
        Console.WriteLine("File {0} {2} to {1}", e.OldFullPath, e.FullPath, wct.ToString())
    End Sub

    ' This method is called when the FileSystemWatcher detects an error.
    Private Sub OnError(ByVal source As Object, ByVal e As ErrorEventArgs)

        ' Show that an error has been detected.
        Console.WriteLine("The FileSystemWatcher has detected an error")

        ' Give more information if the error is due to an internal buffer overflow.
        If TypeOf e.GetException Is InternalBufferOverflowException Then
            ' This can happen if Windows is reporting many file system events quickly 
            ' and internal buffer of the  FileSystemWatcher is not large enough to handle this
            ' rate of events. The InternalBufferOverflowException error informs the application
            ' that some of the file system events are being lost.
            Console.WriteLine( _
                "The file system watcher experienced an internal buffer overflow: " _
                + e.GetException.Message)
        End If
    End Sub
End Module

플랫폼

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

System.IO 네임스페이스
FileSystemWatcher.Changed 이벤트
FileSystemWatcher.Created 이벤트
FileSystemWatcher.Deleted 이벤트
FileSystemEventArgs 클래스
FileSystemEventHandler 대리자
FileSystemWatcher 클래스
InternalBufferOverflowException 클래스
NotifyFilters 열거형
FileSystemWatcher.Renamed 이벤트
RenamedEventArgs 클래스
RenamedEventHandler 대리자
WaitForChangedResult 구조체