Je tente de détecter si Thunderbird est ouvert (et notamment une fenêtre de rédaction de message) pour pouvoir le fermer.
Après plusieurs essais, voici le résultat :
- j'ai réussi à vérifier la présence de TB par la class (la vérification par le titre ne marche pas).
- La vérification de la fenêtre de rédaction de message fonctionne, mais je dois fermer totalement TB pour que le WinWaitClose() s'interrompe et que le message "TB fermé" s'affiche.
- Si la fenêtre de rédaction de message n'est pas détectée, le message "fermeture de TB" s'affiche, mais TB n'est pas fermé.
Code : Tout sélectionner
MsgBox(0, "", "lancement", 3)
If WinExists("[CLASS:MozillaWindowClass]") Then ;La fenêtre principale de TB existe
MsgBox(0, "", "main window open", 2)
If WinExists("[TITLE:Rédaction; CLASS:MozillaWindowClass]") Then ;La fenêtre de rédaction de message existe
MsgBox(0, "", "write window open", 2)
$MsgBox_OkCancel = MsgBox(1, "Sauvegarde de Thunderbird", "La sauvegarde de Thunderbird attend la fermeture de la fenêtre de rédaction de message de Thunderbird. Cliquez sur OK pour attendre et sur Annuler pour arrêter la sauvegarde.")
If $MsgBox_OkCancel = 2 Then ;Clic sur Annuler
Exit(1)
EndIf
;On attend sa fermeture, puis on ferme TB
WinWaitClose("[TITLE:Rédaction; CLASS:MozillaWindowClass]")
;;WinWaitClose("[TITLE:Rédaction; CLASS:MozillaWindowClass]")
WinClose("[CLASS:MozillaWindowClass]")
;;WinClose("[TITLE:Mozilla Thunderbird; CLASS:MozillaWindowClass]")
MsgBox(0, "", "TB fermé")
Else
;Sinon on ferme TB
MsgBox(0, "", "fermeture de TB")
WinClose("[CLASS:MozillaWindowClass]")
;;WinClose("[TITLE:Mozilla Thunderbird; CLASS:MozillaWindowClass]")
EndIf
Else
MsgBox(0, "", "TB non ouvert")
EndIf
Exit(0) ;On quitte et on renvoie un code 0