Home arrow VB.Net arrow Page 2 - Watching Folder Activity in VB.NET
VB.NET

Watching Folder Activity in VB.NET


Our resident VB.Net guru is back! In this article Jayesh shows us how to use the FileSystemWatcher class to monitor folders for changes.

Author Info:
By: Jayesh Jain
Rating: 5 stars5 stars5 stars5 stars5 stars / 69
October 13, 2002
TABLE OF CONTENTS:
  1. · Watching Folder Activity in VB.NET
  2. · Getting Started
  3. · Building Our Application (contd.)
  4. · Conclusion

print this article
SEARCH DEVARTICLES

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:

Creating our application

Create a user interface as shown in the image below:

Creating our user interface

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 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.
blog comments powered by Disqus
VB.NET ARTICLES

- MyClass - Implementing Polymorphism in VB.Net
- Building a News Ticker Using VB.Net
- Everything You Wanted to Know About Forms In...
- Building Assemblies with VB.Net
- Simple VB.NET Notify Icon with Panel Applica...
- Regular Expressions in .NET
- String Encryption With Visual Basic .NET
- Deploying Applications in VB.NET: Part 1/2
- Watching Folder Activity in VB.NET
- Creating A Windows Service in VB.NET
- Implementing The Google Web Service In VB.NET
- Migrating to Visual Basic.NET from Visual Ba...

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 
Support 

Developer Shed Affiliates

 




© 2003-2017 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials