Create a user interface as shown in the image below:
Add the following controls to our form:
txt_watchpath
: TextBox (for folder path)btn_startwatch
: Button (start watching)btn_stop
: Button (stop watching)txt_folderactivity
: Textbox (folder activity)
Lets start coding for this application. The first thing we need to do is to import the required classes. Type the following code before your class declaration:
Imports System.IO
Imports System.Diagnostics
This code will import the necessary class required for our application. We also need to declare a public variable for our FileSystemWatcher class:
Public watchfolder As FileSystemWatcher
Add the following code to the btn_start_click procedure:
watchfolder = New System.IO.FileSystemWatcher()
'this is the path we want to monitor
watchfolder.Path = txt_watchpath.Text
'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 = IO.NotifyFilters.DirectoryName
watchfolder.NotifyFilter = watchfolder.NotifyFilter Or _
IO.NotifyFilters.FileName
watchfolder.NotifyFilter = watchfolder.NotifyFilter Or _
IO.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 of code for btn_start_click
The NotifyFilter propery is used to specify the types of changes that we want to watch. You can combine the notify filters to watch for one or more types of changes. For example, set the NotifyFilter property to Size if you want to monitor the changes in the file/folder size.
There are many NotifyFilter properties that you can set. Here’s the complete list:
Attributes
: The attributes of the file or folderCreationTime
: The time the file or folder was createdDirectoryName
: The name of the directoryFileName
: The name of the fileLastAccess
: The date the file or folder was last openedLastWrite
: The date the file or folder last had anything written to itSecurity
: The security settings of the file or folderSize
: The size of the file or folder
The default is the bitwise OR combination of LastWrite, FileName, and DirectoryName.
Comments