Imports System.IO
Public Class FileSystemMonitor
Public Shared Sub Main()
Dim fsw As New FileSystemWatcher() ' create an object of FileSystemWatcher
' set properties of FileSystemWatcher object
fsw.Path = "c:\"
fsw.IncludeSubdirectories = True
' add event handlers
AddHandler fsw.Created, New FileSystemEventHandler(AddressOf File_Created)
AddHandler fsw.Deleted, New FileSystemEventHandler(AddressOf File_Deleted)
fsw.EnableRaisingEvents = True ' enable monitoring
Console.WriteLine("Started Monitoring C:\ folder. Press enter key to stop.")
Console.ReadLine()
End Sub
' event handler to handle created event
Public Shared Sub File_Created(ByVal obj As Object, ByVal e As FileSystemEventArgs)
Console.WriteLine(e.FullPath & " - Created")
End Sub
' event handler to handle deleted event
Public Shared Sub File_Deleted(ByVal obj As Object, ByVal e As FileSystemEventArgs)
Console.WriteLine(e.FullPath & " - Deleted")
End Sub
End Class
Imports System.IO
Public Class Service1
Dim fsw As FileSystemWatcher
Dim fw As StreamWriter
Protected Overrides Sub OnStart(ByVal args() As String)
fw = New StreamWriter(Environment.GetEnvironmentVariable("temp") & "\filesystem.log")
fsw = New FileSystemWatcher()
If args.Length > 0 Then
fsw.Path = args(0)
fsw.IncludeSubdirectories = True
Else ' default settings
fsw.Path = "c:\"
fsw.IncludeSubdirectories = False
End If
AddHandler fsw.Created, New FileSystemEventHandler(AddressOf File_Created)
AddHandler fsw.Deleted, New FileSystemEventHandler(AddressOf File_Deleted)
fsw.EnableRaisingEvents = True
End Sub
Public Sub File_Created(ByVal obj As Object, ByVal e As FileSystemEventArgs)
fw.WriteLine(Now.ToShortDateString & " " & Now.ToShortTimeString & " - " & e.FullPath & " - Created")
End Sub
Public Sub File_Deleted(ByVal obj As Object, ByVal e As FileSystemEventArgs)
fw.WriteLine(Now.ToShortDateString & " " & Now.ToShortTimeString & " - " & e.FullPath & " - Deleted")
End Sub
Protected Overrides Sub OnStop()
fw.Close()
End Sub
End Class
ServiceName : FSMonitor DispalyName : File System Monitor StartType : Manual (default)
Account : LocalSystem
Installutil FSMonitor.exe
InstallUtil /u FSMonitor.exe