Bonjour à tous,
Je suis un peu en retard par rapport à vos derniers messages, toutefois pendant le week end, j'ai testé la vérification du chemin pour voir si il me trouve bien le fichier.
Avec la commande
If Not FileExists .... il ne trouve rien (il m'indique "Le fichier n'existe pas".
J'ai essayé aussi avec :
If NOT WinExists et le résultat est le même "Le fichier n'existe pas".
Je suppose donc qu'il faut d'abord solutionner ce point.
Si vous voulez tester de votre coté, voici les éléments de mon application.
J'utilise une version portable de Thunderbird et mon script actuel est le suivant :
Code : Tout sélectionner
;Script AutoIt réalisé par JPBON
Global $n = 0
While 1
$valeur = InputBox("Saisir votre mot de passe", "Attention vous êtes sur le point de lancer la Finalisation ce qui declenchera l'envoi des messages prepare par Mr XXX. ", "", " M11")
If $valeur = "12345" Then
MsgBox(32, "Mot de passe correct", "Cliquer maintenant sur OK pour envoyer les messages de Mr XXX. ")
ExitLoop
ElseIf @error = 1 Then
MsgBox(64,"Exit","Vous avez choisi de quitter le programme")
Exit
Else
$n += 1
MsgBox(16, "Attention", "Mot de passe invalide, vous n'avez droit qu'a 5 tentatives")
EndIf
If $n = 5 Then
MsgBox(16, "Fin du programme", "Nombre maximun d'essais atteint, le programme va se fermer")
Exit
EndIf
WEnd
ShellExecuteWait("http://www.leavemytrace.com")
Sleep (20000) ; On attend 15 secondes avant de fermer la page web
WinClose ("Leave My Trace - Mozilla Firefox", "")
WinClose ("Leave My Trace - Windows Internet Explorer", "")
;WinClose ("Leave My Trace - Windows Chrome", "") ; à vérifier
Sleep (2000)
If Not WinExists ("Folder Parain", "") Then
RunWait ("Ouverture.bat")
EndIf
Sleep (2000)
;MsgBox("","ATTENTION : Lancement de la Finalisation", "Saisir dans la fenetre (Folder Parain) le code indiqué sur la page Web precedemmenbt affichee LeavMyTrace. Cliquer ensuite sur Entree et enfin sur le bouton OK de cette boite de dialogue")
If NOT WinExists("\Finalisation\Parain\Data\profile\Mail\Local Folders\UNSENT MESSAGES.msf","") Then
MsgBox(16, "", "Le fichier n'exist pas")
EndIf
;Si la fenetre Mozilla Thunderbird n'est pas deja ouverte, on en ouvre une :
If Not WinExists ("Messages en attente - Mozilla Thunderbird", "") Then
Run ("Parain\Transmission.exe")
EndIf
;On vérifie que la fenêtre Mozilla Thunderbird est bien active
WinWaitActive ( "Messages en attente - Mozilla Thunderbird" )
;vérifie toutes les 500ms, sans bloquer le script :
Sleep (3000) ; On attend 3 secondes avant de simuler l'appui sur les touches suivantes
; On lance la commande d'envoi des messages en attente
Send ("!f") ; !f = Alt+F
Sleep (500) ; On attend une demi seconde avant de simuler l'appui sur la touche suivante
Send ("a") ; On simule un appui sur la touche (a) qui correspond à la commande (envoyer les messages en attente)
ProgressOn("Progression de la transmission", "", "0 pourcent", 100, 200, 16)
Global $Progress1 = GUICtrlCreateProgress(16, 32, 262, 20)
Global $Label2 = GUICtrlCreateLabel("0 pourcent", 15, 60, 100, 20)
For $xyz = 1 to 100 step 1
sleep(600) ; cette valeur va afficher un curseur avec une progression sur 60 secondes
; Pour une progression de 10 minutes, mettre la valeur sleep(6000)
ProgressSet( $xyz, $xyz & " pourcent")
Next
;AdLibRegister("_verification", 5000) ; à mettre en début de script
;Func _verification()
;If FileGetSize("\\Parain\Data\profile\Mail\Local Folders\UNSENT MESSAGES.msf") <= 10 Then
;MsgBox (16, "Vérification", "La boite est vide") ;
;EndIf
;EndFunc
ProgressSet(100 , "Messages transmis")
sleep(5000)
ProgressOff()
Sleep (1000)
;On ferme Mozilla Thunderbird
WinClose ("Messages en attente - Mozilla Thunderbird", "")
;On affiche un message de fin
MsgBox (0, "Finalisation Terminée" , "Félicitations, les messages de Mr xxxx ont bien été envoyés")
Sleep ("3000")
Exit
Dans ce code on fait appel à un autre fichier (ouverture.bat) c'est juste une script qui permet de montrer ou cacher le répertoire Finalisation\Parain....
Je recherche également une autre solution de contrôle qui consisterait à trouver l'information du nombre de messages enregistré dans Thunderbird (portable) et de récupérer cette donnée pour pouvoir indiquer X messages sont à transmettre et faire un décompte au fur et à mesure que les messages sont envoyés. Mais ça c'est une autre Histoire.
Merci pour votre aide, excellente journée à tous.
Jean-Pierre