Watching Folder Activity in VB.NET - Getting Started
(Page 2 of 4 )
Open Visual Studio .NET and create a new Windows Application Project. Call it WatchFolder and click OK:

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.DiagnosticsThis 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 FileSystemWatcherAdd 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_clickThe 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 folder
- CreationTime: The time the file or folder was created
- DirectoryName: The name of the directory
- FileName: The name of the file
- LastAccess: The date the file or folder was last opened
- LastWrite: The date the file or folder last had anything written to it
- Security: The security settings of the file or folder
- Size: The size of the file or folder
The default is the bitwise OR combination of LastWrite, FileName, and DirectoryName.
Next: Building Our Application (contd.) >>
More VB.Net Articles
More By Jayesh Jain