www.pudn.com > FolderWatch.zip > Form1.vb


Imports System.IO 
Imports System.Diagnostics 
 
Public Class Form1 
 
    Private Sub logchange(ByVal source As Object, ByVal e As _ 
                                    System.IO.FileSystemEventArgs) 
        txt_folderactivity.Text &= "File " & e.FullPath & _ 
                  "  " & e.ChangeType.ToString & vbCrLf 
    End Sub 
 
    Public Sub logrename(ByVal source As Object, ByVal e As _ 
                                        System.IO.RenamedEventArgs) 
        txt_folderactivity.Text &= "File" & e.OldName & _ 
        " has been renamed to " & e.Name & vbCrLf 
    End Sub 
    Private Sub StartWatch() 
        'this is the path we want to monitor  
        watchfolder.Path = txt_watchpath.Text 
        watchfolder.Filter = "" 
        'Add a list of Filter we want to specify  
        'make sure you use OR for each Filter as we need to  
        'all of those  
 
        watchfolder.NotifyFilter = NotifyFilters.DirectoryName 
        watchfolder.NotifyFilter = NotifyFilters.LastAccess 
        watchfolder.NotifyFilter = NotifyFilters.Size 
        watchfolder.NotifyFilter = NotifyFilters.LastWrite 
        watchfolder.NotifyFilter = NotifyFilters.FileName 
        watchfolder.NotifyFilter = NotifyFilters.Attributes 
 
        ' add the handler to each event  
        AddHandler watchfolder.Changed, AddressOf logchange 
        AddHandler watchfolder.Created, AddressOf logchange 
        AddHandler watchfolder.Deleted, AddressOf logchange 
 
        ' add the rename handler as the signature is different  
        AddHandler watchfolder.Renamed, AddressOf logrename 
 
        'Set this property to true to start watching  
        watchfolder.EnableRaisingEvents = True 
 
        btn_startwatch.Enabled = False 
        btn_stop.Enabled = True 
 
    End Sub 
    Private Sub btn_startwatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_startwatch.Click 
        If txt_watchpath.Text = "" Then Exit Sub 
        StartWatch() 
    End Sub 
    Private Sub btn_stopwatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_stop.Click 
        'Stop watching the folder  
        watchfolder.EnableRaisingEvents = False 
        btn_startwatch.Enabled = True 
        btn_stop.Enabled = False 
    End Sub 
 
    Private Sub BtnFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFolder.Click 
        FolderBrowser.ShowDialog() 
        txt_watchpath.Text = FolderBrowser.SelectedPath 
    End Sub 
 
    Private Sub BtnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClear.Click 
        txt_folderactivity.Text = "" 
    End Sub 
 
    Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click 
        Me.Dispose() 
    End Sub 
 
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged 
        If CheckBox1.Checked = True Then 
            watchfolder.IncludeSubdirectories = True 
        Else 
            watchfolder.IncludeSubdirectories = False 
        End If 
    End Sub 
End Class