Another possible solution is to use the System.IO.FileSystemWatcher and maintain a single Dictionary(Of String, Integer) where the key is the path that changed and the value is sort of enumerated (0 - Created, 1 - Deleted, 2 - Renamed, etc). If you ran that as a Service that uses configurable...