[R] Script d'Automatisation - Décocher une checkbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

[R] Script d'Automatisation - Décocher une checkbox

#1

Message par zahyl »

Bonjour,

Je viens de découvrir AutoIt, et les possibilités semblent monstrueuses. je souhaite m'en servir pour automatiser l'installation de petits logiciels.

J'ai voulu tester mais je bloque sur un détail. A un moment il faut décocher l'installation d'une toolbar .

j'ai cru comprendre qu'il faut utiliser cette commande :

ControlCommand ( "title", "text", controlID, "command" [, "option"] )

Mais le controlID change a chaque nouveau démarrage du logiciel.
Il faut donc le récupérer avec le script , et je ne sais pas comment m'y prendre.

Visiblement la réponse se trouce ici : http://autoitscript.fr/forum/viewtopic.php?f=4&t=1310
Mais je comprend pas bien, parceque pour moi tout ce qui commence par GUI c'est pour faire de l'interface graphique or je ne fait pas ca du tout.
Et puis GUICtrlCreateCheckbox crée une checkbox or je veux seulement décocher une checkbox déjà existante.

Si quelqu'un peut m'éclairer ?

Merci d'avance.

Zahyl
Modifié en dernier par zahyl le mer. 28 mai 2014 14:14, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#2

Message par jguinch »

La fonction que tu peux utiliser est ControlCommand (regarde dans la doc).
Tu n'es pas obligé de connaître l'ID, tu peux aussi spécifier le texte à la place (toujours dans la doc : Using AutoIt / Controls).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#3

Message par parazitenew »

moutelous a écrit :Bonjour,

Dans le cas où il est impossible de récupérer l'ID ou la classe du controle, on peut simplement utiliser la commande "Send".
Si par exemple le bouton en question a pour label "Suivant" avec le S de souligné, il suffit d'envoyer la commande
Code


Send("!s")
,si la touche est présélectionnée il suffit d'envoyer
Code


Send("{ENTER}")
etc ...

Il est également possible d'atteindre un controle quelconque d'une fenêtre par l'envoi de quelques "Tab" judicieux

A+
Là il s'agit d'un bouton mais c'est valable pour les autres controls,
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#4

Message par zahyl »

jguinch a écrit :La fonction que tu peux utiliser est ControlCommand (regarde dans la doc).
Tu n'es pas obligé de connaître l'ID, tu peux aussi spécifier le texte à la place (toujours dans la doc : Using AutoIt / Controls).
j'ai déjà essayé sans résultat :

Code : Tout sélectionner

ControlCommand ("TNewCheckListBox","texte_de_la_checkbox", "TNewCheckListBox1", "Uncheck", "")
TNewCheckListBox -> Class
TNewCheckListBox1 -> ClassnameNN

Je vais tenter avec une autre syntaxe, peut étre que ca marchera...



@Parazitenew

j'avais vu un truc comme ça, en me positionnant avec des tab sur la checkbox, puis je fais un

Code : Tout sélectionner

Send ({+}) ;pour cocher et {-} pour décocher
Mais cela ne fonctionne pas, ce n'est surment pas + ou - qu'il faut mettre pour les checkbox.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#5

Message par jguinch »

Il faut toujours privilégier l'utilisation de ControlSend plutôt que Send.
A noter qu'il est possible d'envoyer un Send à une fenêtre voulue en utilisant ControlSend : il suffit simplement de ne pas spécifier le contrôle :
► Afficher le texte
Sinon en règle générale, pour cochez une checkbox, il suffit de se positionner dessus et appuyer sur Espace.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#6

Message par zahyl »

jguinch a écrit : Sinon en règle générale, pour cochez une checkbox, il suffit de se positionner dessus et appuyer sur Espace.
Je viens de m'en rapeller. Du coup cela fonctionne correctement avec un Send.
C'est cette réponse que j'attendais ^^ merci ( je passe le titre en résolu ).

jguinch a écrit : Il faut toujours privilégier l'utilisation de ControlSend plutôt que Send.
C'est selon le contexte d'utilisation non? tant que je reste dans une seule fenétre je ne devrais pas avoir de souci avec Send?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#7

Message par mikell »

Hmm il me semble qu'il y avait une erreur dans les paramètres du ControlCommand
ça devrait marcher :

Code : Tout sélectionner

ControlCommand ("titre_de_la_fenêtre", "", "TNewCheckListBox1", "Uncheck", "")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#8

Message par jguinch »

Send est toujours bancal étant donné qu'on ne peut jamais être sûr de ce qui sur passe à l'écran (l'utilisateur qui clique, une fenêtre de mise à jour qui apparaît, ou n'importe quoi d'autre qui pique le focus). Essaye ControlSend pour voir...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [..] Script d'Automatisation - Décocher une checkbox

#9

Message par zahyl »

mikell a écrit :Hmm il me semble qu'il y avait une erreur dans les paramètres du ControlCommand
ça devrait marcher :

Code : Tout sélectionner

ControlCommand ("titre_de_la_fenêtre", "", "TNewCheckListBox1", "Uncheck", "")
Il n'y a pas d'erreur d'exécution, mais la checkbox ne se décoche pas ...
Mais c'est possible que j'ai mal rempli les arguments.

jguinch a écrit :Send est toujours bancal étant donné qu'on ne peut jamais être sûr de ce qui sur passe à l'écran (l'utilisateur qui clique, une fenêtre de mise à jour qui apparaît, ou n'importe quoi d'autre qui pique le focus). Essaye ControlSend pour voir...
je suis en train de test le ControlSend ( parceque c'est vrai que du coup c'est carrément mieux que Send ! ) et j'ai un souci pour échapper des apostrophe dans l'argument "texte".

Alors que le même texte dans WinWaitActive ne pose pas de souci.

Du coup comment on échappe les simples quotes ?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#10

Message par jguinch »

Normalement, on ne les échappe pas.

Par contre pour le ControlCommand, tu peux essayer ça :

Code : Tout sélectionner

ControlCommand ("titre_de_la_fenêtre", "", "[CLASSNN:TNewCheckListBox1]", "Uncheck", "")
C'est quoi le texte exact de la checkbox ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#11

Message par zahyl »

Autant pour moi, je n'ai pas de problème d'échappement des quotes ( elle n'ont pas besoin d’être échappé en effet) j'avais fait une faute de frappe.

Par contre, c'est une liste de checkbox qui posséde un seul controlID pour tous. Donc ce qui les différencie est "le_texte_de_la_checkbox", qui en pratique est : "Barre d'outil PDFCreator pour ie et firefox".

Du coup j'ai peur que si je fait cette commande :

Code : Tout sélectionner

ControlCommand ("titre_de_la_fenêtre", "", "[CLASSNN:TNewCheckListBox1]", "Uncheck", "")
sans préciser le_texte_de_la_checkbox, il me décoche tout. non?

edit : je viens de test, ca n'a pas marché.
C'est possible qu'un menu déroulant permettant de choisir une selection prédéfinie de checkbox pose problème?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#12

Message par jguinch »

En fait, je pense plutôt que tu devrais plutôt trouver un autre programme d'installation (sans toolbar)...
C'est quoi comme application ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#13

Message par zahyl »

il n'y a pas d'autre version de setup sans la toolbar car c'est la toolbar de ce logiciel là qu'il propose d'installer.

C'est PDFCreator ( imprimante virtuelle qui permet de générer des pdf depuis word/exel ( ou n'importequoi d'autre) sans perte de qualité importante.

De toute façon ce script ne sera pas mis à disposition des users, du coup j'ai fait un truc pas très beau, mais qui fonctionne. :D


A la fin, j'espère pouvoir lancer un seul script qui me fera l'install de plein de logiciel. ( et encore ca c'est parceque j'ai envie de savoir faire un peu d'automatisation, pasque la solution la plus simple c'est créer une image disque, genre avec Acronis true Image, mais trève de divagation ceci est une autre histoire :) )


Encore merci pour ton aide, c'était rapide et clair.
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#14

Message par parazitenew »

Ce n'est pas encore reglé cette histoire? Je croyais avoir apporté la réponse absolue :mrgreen: :mrgreen:
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#15

Message par jguinch »

Tant mieux si tu as réussi.
Par contre, je te conseille de te pencher sur une méthode plus propre, en passant par une installation silencieuse.
Sur le site officiel de PDFCreator, on télécharge un setup propre (sans install de barre d'outil).
Ensuite, comme l'installeur est créé avec Inno Setup, on peut créer un fichier de réponse en lançant l'installeur avec des paramètres :
PDFCreator-1_7_3_setup.exe /SAVEINF="c:\tmp\pdfcreator.inf"
Une fois le fichier de réponse créé, on déploie le programme en spécifiant qu'on utilise ce fichier de réponse (qu'on aura pris soin de mettre à un endroit accessible :
PDFCreator-1_7_3_setup.exe /LOADINF="\\server\share\pdfcreator\pdfcreator.inf"

Bon là on sort du cadre du forum, mais normalement, la quasi-totalité des applications permettent ce genre de chose...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#16

Message par zahyl »

jguinch a écrit :Tant mieux si tu as réussi.
Par contre, je te conseille de te pencher sur une méthode plus propre, en passant par une installation silencieuse.
Sur le site officiel de PDFCreator, on télécharge un setup propre (sans install de barre d'outil).
Ensuite, comme l'installeur est créé avec Inno Setup, on peut créer un fichier de réponse en lançant l'installeur avec des paramètres :
PDFCreator-1_7_3_setup.exe /SAVEINF="c:\tmp\pdfcreator.inf"
Une fois le fichier de réponse créé, on déploie le programme en spécifiant qu'on utilise ce fichier de réponse (qu'on aura pris soin de mettre à un endroit accessible :
PDFCreator-1_7_3_setup.exe /LOADINF="\\server\share\pdfcreator\pdfcreator.inf"

Bon là on sort du cadre du forum, mais normalement, la quasi-totalité des applications permettent ce genre de chose...
Je n'ai pas tout compris ^^
Qu'est ce qu'un fichier de réponse? et qu'entend tu par "installeur", le script Autoit ? Et que vient faire Inno Setup ici ^^
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#17

Message par jguinch »

- L'installeur, c'est le programme d'installation (PDFCreator-1_7_3_setup.exe)
- Le fichier de réponse, c'est un fichier (texte ici) qui contient les actions à effectuer par l'installeur (quelles cases cocher...)
- Inno Setup, c'est le logiciel qui a servi à créer l'installeur. Chaque installeur propose (ou non) ses propres options de lancement. Pour Inno Setup, c'est ici : http://www.jrsoftware.org/ishelp/index. ... tupcmdline
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#18

Message par zahyl »

ok, Donc Inno Setup c'est l'équivalent de AutoIt ?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#19

Message par jguinch »

AutoIt est un langage de script qui permet de générer des exécutables autonomes, plutôt orienté automatisation de tâches (GUI, système)..
Inno Setup est un logiciel libre permettant de créer des installateurs pour Windows. Ceux-ci peuvent comporter des scripts programmés en Pascal (http://fr.wikipedia.org/wiki/Inno_Setup).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zahyl
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mer. 28 mai 2014 12:42
Status : Hors ligne

Re: [R] Script d'Automatisation - Décocher une checkbox

#20

Message par zahyl »

okokok, c'est pas mal ça, sauf pour les script Pascal ^^ je connais pas du tout :).

En tout cas merci pour les infos,

J'ai une dernière petite question, il y a un irc fr pour Autoit ou non? :)
Répondre