sephiroth27
Messages postés34Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention31 octobre 2007
-
1 oct. 2007 à 11:02
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
1 oct. 2007 à 13:05
bonjour a tous,
voila je cherche le moyen via les événements windows ou autre, une solution pour que mon programme lance une instruction (controle d'integrité ghost) des qu'un fichier (ici une image ghost) est copier ou créer.
en gros, il faut que le programme détecte si un fichier est copier ou créer et moi je fait le controle sur le nom pour voir si c'est un ghost via l'extantion, mais je sais pas comment faire pour detécté cette événement.
je vous remercie d'avance, et si je n'est pas été assez claire, je suis à votre disposition.
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 1 oct. 2007 à 13:05
Bonjour à tous,
Bonjour Sephiroth,
N'ayant pas vb6, je n'ai pu tester la source de Renfield (que je salue).
J'utilise, en vbs, le script ci-dessous pour surveiller l'évolution d'un fichier.
Je suppose que wmi peut aussi surveiller l'évolution d'un répertoire.
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE " _
& "TargetInstance ISA 'CIM_DataFile' and " _
& "TargetInstance.Name='D:\\SCRIPTS\\Fichiers\\verification_modification_fichier.txt'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
MsgBox "File: " & objLatestEvent.TargetInstance.Name &vbCrLf&_
"Size: " & objLatestEvent.TargetInstance.FileSize,,Now &Space(10)& _
"le fichier a été modifié"
Set objLatestEvent = Nothing
Loop
Set objWMIService = Nothing
Set colMonitoredEvents = Nothing
Une recherche sur ExecNotificationQuery etInstanceModificationEvent pourrait être intéressante.
De même, une simple surveillance de présence du fichier pourrait aussi suffire.
Do
If Fso.FileExists(FicTop) Then Fso.DeleteFile FicTop, True : Exit Do
'MsgBox "le fichier n'est pas présent..." &vbCrLf&_
' "attente de 10 mns avant de relancer le test" &vbCrLf& Now
WScript.Sleep(600000)
'MsgBox "re-boucle" &vbCrLf& Now,,"Vérification Sleep"
Loop
msgbox "fichier top présent suite du script"