Controlar las modificaciones de un fichero mediante las notificaciones de sistema
Artículo por Club Developers · 11 mayo 2006
1965 vistas
Windows envía notificaciones que permiten controlar las modificaciones realizadas a un sistema de ficheros.
Para poderlo controlar usaremos la clase System.IO.FileSystemWatcher.
y aquà cómo usar esta función Watch
Para poderlo controlar usaremos la clase System.IO.FileSystemWatcher.
vbnet
Imports System.IO   Sub Watch(ByVal sPath As String, Optional ByVal sFilter As String = "*")     ' podemos usar los '*' con el filtro     ' creación del objeto watcher     Dim fw As New FileSystemWatcher(sPath, sFilter)     ' adjuntamos los handlers para controlar los eventos que queramos controlar.     AddHandler fw.Changed, AddressOf OnChanged     AddHandler fw.Renamed, AddressOf OnRenamed     AddHandler fw.Created, AddressOf OnChanged     AddHandler fw.Deleted, AddressOf OnChanged     AddHandler fw.Error, AddressOf OnError     ' controlaremos también las subcarpetas     fw.IncludeSubdirectories = True     ' para poner en marcha el control, tendremos que poner a true EnableRaisingEvents.     ' poniéndolo a false, se parará el control.     fw.EnableRaisingEvents = True   End Sub   Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)     Console.WriteLine("Fichero {0} {1}", e.FullPath, e.ChangeType)   End Sub   Sub OnRenamed(ByVal source As Object, ByVal e As RenamedEventArgs)     Console.WriteLine("Fichero {0} renombrado a {1}", e.OldFullPath, e.FullPath)   End Sub   Sub OnError(ByVal source As Object, ByVal e As ErrorEventArgs)     Dim ex As Exception = e.GetException()     Debug.WriteLine(ex.ToString())     Console.WriteLine(ex.Message)   End Sub
y aquà cómo usar esta función Watch
vbnet
Watch("c:\mifichero.txt") Â Â ' O Watch("c:\*.*")