alerta cuando editen archivo

Iniciado por Angeldj27, 29 Diciembre 2008, 23:20 PM

0 Miembros y 1 Visitante están viendo este tema.

Angeldj27

Quisiera saber si hay alguana forma de cuando editen un archivo o intenten renombrarlo o x cosa y que me de una alerta en pantalla desde vb o de cualquier otra forma.



"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

vivachapas

podrias hacer un programa q cada cierto tiempo verifique si tal archivo existe en tal carpeta con un determinado nombre, peso... incluso podrias hacer una copia en otra carpeta oculta, o un poco mas dicil de encontrar y q compare los archivos para ver si son iguales...

es solo una idea xD

seba123neo

Hola, si se puede, con apis claro...yo hace mucho habia hecho un widget donde vos elejias una carpeta a vigilar y si cambiaban el nombre de la carpeta o un archivo se modificaba te avisaba con una alarma...si mal no recuerdo cobein tiene un modulo que hace lo mismo pero te lo informa en un log...yo te pongo las api's que use despues averigua vos como se hace  :xD ...

Código (vb) [Seleccionar]
Public Const INFINITE As Long = &HFFFFFFFF
Public Const FILE_NOTIFY_CHANGE_FILE_NAME As Long = &H1
Public Const FILE_NOTIFY_CHANGE_DIR_NAME As Long = &H2
Public Const FILE_NOTIFY_CHANGE_ATTRIBUTES As Long = &H4
Public Const FILE_NOTIFY_CHANGE_SIZE As Long = &H8
Public Const FILE_NOTIFY_CHANGE_LAST_WRITE As Long = &H10
Public Const FILE_NOTIFY_CHANGE_LAST_ACCESS As Long = &H20
Public Const FILE_NOTIFY_CHANGE_CREATION As Long = &H40
Public Const FILE_NOTIFY_CHANGE_SECURITY As Long = &H100
Public Const WAIT_OBJECT_0 As Long = &H0
Public Const WAIT_ABANDONED As Long = &H80
Public Const WAIT_IO_COMPLETION As Long = &HC0
Public Const WAIT_TIMEOUT As Long = &H102
Public Const STATUS_PENDING As Long = &H103
Public Const FILE_NOTIFY_FLAGS = FILE_NOTIFY_CHANGE_ATTRIBUTES Or FILE_NOTIFY_CHANGE_FILE_NAME Or FILE_NOTIFY_CHANGE_LAST_WRITE
Public Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (ByVal lpPathName As String, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long) As Long
Public Declare Function FindCloseChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Public Declare Function FindNextChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long


saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Angeldj27

#3
Gracias seba123neo por la ayuda, me gusto la forma así se aprende a trabajar mejor.

Trabaje en algo y con un directorio trabaja perfecto pero con un archivo especifico no trabaja alguna idea.

y otra dudita si quisiera k solo se editara desde mi aplicacion

Saludos...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

seba123neo

#4
con un archivo en especial no probe, pero se que se puede "SABER" que archivo fue el modificado con la api ReadDirectoryChangesW, no esta en el api-guide pero en internet hay ejemplos seguro te sirven...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson