Page 1 sur 1
[R] Installation automatisée d'un logiciel et Focus
Posté : mar. 22 avr. 2014 16:58
par Gnifrus
Bonjour,
J'aurais besoin (encore une fois) de vos lumières, car je ne trouve pas de réponse à mon interrogation sur le forum, malgré plusieurs recherches.
Voilà, j'ai automatisé l'installation d'un logiciel au moyen de divers "ControlCommand", WinWaitActive, ControlClick...etc...
En bref, tout fonctionne très bien ... SAUF :
Si l'utilisateur clique sur une autre fenêtre que la fenêtre d'installation qui est en train de se dérouler (pas le programme autoit, mais les différentes fenêtres imposées par le concepteur du programme à installer), alors le script autoit perd le focus, et l'installation s'arrête.
Par la suite, si on redonne le focus à la fenêtre d'install, il peut très bien reprendre où il s'était arrété, ou bien rester bloqué.
N'y aurait-il pas une manip afin de bloquer le Focus sur les différentes fenêtres qui s'enchaînent, sans possibilité de cliquer ailleurs sur le bureau le temps de l'installation ?
Merci d'avance pour votre aide très précieuse !
Bonne soirée,
Gnifrus.
Re: [..] Installation automatisée d'un logiciel et Focus
Posté : mar. 22 avr. 2014 21:40
par jguinch
Bizarre... Pourtant, avec les fonctions ControlClick, ControlCommand etc, il de devrait pas y avoir besoin que la fenêtre ait le focus.
C'est quoi comme logiciel que tu veux installer ? (si c'est pas trop indiscret). Il n'y a pas moyen de faire une installation silencieuse ?
Re: [..] Installation automatisée d'un logiciel et Focus
Posté : mar. 22 avr. 2014 22:19
par mikell
jguinch a écrit :Bizarre... Pourtant, avec les fonctions ControlClick, ControlCommand etc, il de devrait pas y avoir besoin que la fenêtre ait le focus.
Si la fenêtre perd le focus elle n'est plus active non ?
"Some controls will resist automation unless they are the active window"
Re: [..] Installation automatisée d'un logiciel et Focus
Posté : mar. 22 avr. 2014 22:47
par jguinch
Ah oui...

Re: [..] Installation automatisée d'un logiciel et Focus
Posté : mar. 22 avr. 2014 23:05
par Tlem
En règle générale, pour piloter l'installation d'une application à l'aide de commande de type ControlClic ou apparentée, il vaut mieux prévoir la mise en premier plan (lorsque c'est possible) de la fenêtre à contrôler à chaque fois que l'on souhaite envoyer une "commande". Je n'ai pas la doc sous la main (j'écris du téléphone portable) mais une commande du genre WinActivate("Titre ou handle") devrait bien le faire.
Re: [..] Installation automatisée d'un logiciel et Focus
Posté : mer. 23 avr. 2014 00:21
par Gnifrus
Merci tout d'abord à jguinch, mikell et Tlem pour vos réponses !
Effectivement, WinActivate devrait permettre de remettre la fenêtre au premier plan, afin de pour pouvoir poursuivre l'installation, mais encore faudrait-il que l'utilisateur ne clique pas ailleurs entre le WinActivate et le ControlClick ! (oui, je sais, je suis un peu tordu là....mais j'en ai quelques uns qui sont très forts !

)
Peut-être devrais-je prévoir une boucle qui permettrait de redonner le focus à la fenêtre dès qu'elle le perdrait et continuerait à boucler tant que l'action ne serait pas effectuée ?
Du style (d'accord, c'est un peu lourd à faire avant chaque ControlCommand mais au moins, on est sûr que tout se passe bien :
Code : Tout sélectionner
While 1
WinActivate("[CLASS:Notepad]")
ControlCommand("Sans titre","","[ID:15]","EditPaste", 'bonjour')
If Not @error Then ExitLoop
WEnd
MsgBox(0,"","et voilà ! ça, c'est fait !!!")
Il y a peut-être plus simple, mais que pensez-vous de cette solution ?
Merci encore pour vos idées, elles m'aident à avancer !
Bonne nuit et peut-être à demain ?
Gnifrus.
Re: [..] Installation automatisée d'un logiciel et Focus
Posté : mer. 23 avr. 2014 09:07
par Hugues
Salut,
Sinon une méthode un peu "barbare" si l'utilisateur n'a rien à saisir lors de l'installation, c'est la fonction BlockInput(flag) (voir l'aide, flag 1=Disable user input, 0=Enable user input).
Pendant ton installation, tu verrouilles "temporairement" ton clavier et ta souris.
Re: [..] Installation automatisée d'un logiciel et Focus
Posté : jeu. 24 avr. 2014 16:16
par Gnifrus
Merci Hugues !
J'attendais d'avoir essayé avant de poster ma réponse ici et de clôturer mon "cas" !
Je ne comprends pas pourquoi tu trouves cette méthode barbare ?
En tout cas, c'est exactement ce que je cherchais et ta réponse me convient parfaitement.
Et en plus, ça fonctionne du feu de Dieu !!!
Merci encore et bonne continuation !
Gnifrus.