[R] Automatisation logiciels et fonction Select Case

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Quentin68
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 15 avr. 2015 14:42
Status : Hors ligne

[R] Automatisation logiciels et fonction Select Case

#1

Message par Quentin68 »

Bonjours,

je suis un débutant sous autoit. Je désire automatisé Adobe Reader.

Si il n'est pas installé, mon script installe Adobe
Si il est déjà installé avec une version antérieur, il installe la mise a jours

Mais je coince sur la condition d'installation avec la fonction Select Case EndSelect.

Code : Tout sélectionner

;Installation de Adobe Reader XI
ShellExecute("Adobe_Reader_XI")
Select
    ;Si Adobe n'est pas installé
    Case WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Prêt pour l'installation Adobe Reader XI")
            Send ("{ENTER}")
            WinWaitActive("Adobe Reader XI (11.0.10) - Installation", "Des mises à jour de sécurité")
            Send ("{ENTER}")
            WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Installation terminée")
            Send ("{ENTER}")
    ;Si Adobe est déjà installé, mais une version antérieur
    Case WinWaitActive("Correctif pour Adobe Reader XI (11.0.10)", "Bienvenue dans le correctif pour Adobe Reader XI")
            Send ("{ENTER}")
            WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Installation terminée")
            Send ("{ENTER}")
EndSelect
 
Modifié en dernier par Quentin68 le ven. 17 avr. 2015 12:50, modifié 1 fois.
En informatique, 99% des problèmes se trouve entre la chaise et le poste ;)
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 140
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#2

Message par A2Energie »

Bonjour,

As tu testé tes deux conditions :
essaye ca :

Code : Tout sélectionner

While 1
if WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Prêt pour l'installation Adobe Reader XI") then
tooltip("Pas installé",10,10)
elseif WinWaitActive("Correctif pour Adobe Reader XI (11.0.10)", "Bienvenue dans le correctif pour Adobe Reader XI") then
tooltip("Installé",10,10)
else
tooltip("Autre",10,10)
endif
Wend
 
Quentin68
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 15 avr. 2015 14:42
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#3

Message par Quentin68 »

Bonsoirs,

Oui j'ai tester mes deux conditions séparements, aucun soucis elle fonctionne parfaitement.

Je vais essayé sa, et me renseigné sur la fonction tooltip que tu utilises.

EDIT: Aucun infobulle ne s'affiche
En informatique, 99% des problèmes se trouve entre la chaise et le poste ;)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#4

Message par orax »

Avec WinWaitActive le script attendait que la fenêtre "Installation pour..." soit active pour afficher l'infobulle. Puisque la fenêtre n'était pas trouvée le script attendait indéfiniment.

Code : Tout sélectionner

While 1
    If WinActive("Installation pour Adobe Reader XI (11.0.10)", "Prêt pour l'installation Adobe Reader XI") Then
        ToolTip("Pas installé", 10, 10)
    ElseIf WinActive("Correctif pour Adobe Reader XI (11.0.10)", "Bienvenue dans le correctif pour Adobe Reader XI") Then
        ToolTip("Installé", 10, 10)
    Else
        ToolTip("Autre", 10, 10)
    EndIf
    Sleep(1000)
WEnd
:idea: Pour automatiser une installation, l'idéal est de faire une installation silencieuse qui n'affichera aucune interface graphique.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Quentin68
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 15 avr. 2015 14:42
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#5

Message par Quentin68 »

Je vais me renseigner sur les install silencieuse.

Par contre, je me demande quand même pourquoi ce script ne fonctionne pas, car les deux types d'installation (New ou MAJ) fonctionnes quand elles sont séparé.
En informatique, 99% des problèmes se trouve entre la chaise et le poste ;)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#6

Message par orax »

La ligne...

Code : Tout sélectionner

Case WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Prêt pour l'installation Adobe Reader XI")
met le script en pause tant que la fenêtre "Installation pour Adobe Reader XI (11.0.10)" n'est pas active. C'est-à-dire que, s'il y a déjà eu une installation, cette fenêtre ne sera jamais active donc le script attendra indéfiniment.

Tu peux aussi ajouter ces lignes au début du script pour voir dans la console de SciTE où « bloque » le script.

Code : Tout sélectionner

#AutoIt3Wrapper_Run_Debug_Mode=Y      ;(Y/N) Run Script with console debugging. Default=N
#AutoIt3Wrapper_Run_Debug=On          ;(On/Off) Switch debugging on/off
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Quentin68
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 15 avr. 2015 14:42
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#7

Message par Quentin68 »

Donc j'ai surement mal compris le principe des conditions,

ce que je voulais faire c'étais :

Si tu vois la fenêtre d'installation, alors tu fais ...
Si tu vois la fenêtre de correctif, alors tu fais ...
En informatique, 99% des problèmes se trouve entre la chaise et le poste ;)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#8

Message par orax »

Il faut surtout remplacer WinWaitActive par WinActive dans le Select/Case. Un truc comme ça marcherait peut-être mieux.
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Quentin68
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 15 avr. 2015 14:42
Status : Hors ligne

Re: [..] Automatisation logiciels et fonction Select Case

#9

Message par Quentin68 »

Bonjours,

Merci orax !

En rajoutant un sleep(40000) le temps que le programme décompresse les fichiez d'installation etc, puis avec WinActive, sa fonctionne parfaitement !

je met le sujet en résolue, et met le script fonctionnel a la fin pour les prochains dans la situation =)

Code : Tout sélectionner

;Installation de Adobe Reader XI
ShellExecute("Adobe_Reader_XI")

sleep(40000)

Select
    ;Si Adobe n'est pas installé
    Case WinActive("Installation pour Adobe Reader XI (11.0.10)", "Prêt pour l'installation Adobe Reader XI")
            Send ("{ENTER}")
            WinWaitActive("Adobe Reader XI (11.0.10) - Installation", "Des mises à jour de sécurité")
            Send ("{ENTER}")
            WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Installation terminée")
            Send ("{ENTER}")
            
;   ;Si Adobe est déjà installé, mais une version antérieur
    Case WinActive("Correctif pour Adobe Reader XI (11.0.10)", "Bienvenue dans le correctif pour Adobe Reader XI")
            Send ("{ENTER}")
            WinWaitActive("Installation pour Adobe Reader XI (11.0.10)", "Installation terminée")
            Send ("{ENTER}")
EndSelect
 
En informatique, 99% des problèmes se trouve entre la chaise et le poste ;)
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 140
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [R] Automatisation logiciels et fonction Select Case

#10

Message par A2Energie »

Esaaye de remplacer le sleep(40000)
Qui est pas tres beau, et pourrait poser probleme en cas de lag du pc.
par un winwait("[class:]","",60)

Code : Tout sélectionner

WinWait("[CLASS:AcrobatSDIWindow]", "",60)
 
Si je ne fais pas d'erreur car pas possible de tester.
Répondre