Bonjour,
Le must aurait été de pouvoir s’enregistrer à un évènement de changement du filesystem, mais là je n'en ai pas en tête.
Maintenant on peut conditionner l'exécution par rapport à la date de modification du dossier, qui me semble être une action "moins coûteuse" qu'un parcours des fichiers présent. Cependant on n’échappera pas à un timer.
Voici un exemple d'illustration :
► Afficher le texte
Code : Tout sélectionner
Global $rep_tocheck=@ScriptDir
Global $oldtime=FileGetTime($rep_tocheck,0,1)
Global $Changed=0
AdlibRegister("Notify",1000)
While 1
If $Changed Then MsgBox(0,"Rep changé","Rep Cahngé")
Sleep(100)
WEnd
Func Notify()
local $time
$time=FileGetTime($rep_tocheck,0,1)
If $time<>$oldtime Then
$oldtime=$time
$Changed=1
Else
$Changed=0
EndIf
Return $Changed
EndFunc
Dans cet exemple, on vérifie si le répertoire où réside le script change.
Si vous reprenez cette idée, il faudra avoir le réflexe suivant :
- lancer un AdlibUnRegister en premier pour désactiver ce pseudo service de notification
- lancer votre traitement
- relancer le AdlibRegister en réinitialisant les variable $oldtime et $changed
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.