Controlar las modificaciones de un fichero mediante las notificaciones de sistema
Artículo por Club Developers · 11 May 2006
2284 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:\*.*")


