[R] Script d'Automatisation - Décocher une checkbox
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Script d'Automatisation - Décocher une checkbox
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
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.
Re: [..] Script d'Automatisation - Décocher une checkbox
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).
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 !
- parazitenew
- 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
Là il s'agit d'un bouton mais c'est valable pour les autres controls,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+
Re: [..] Script d'Automatisation - Décocher une checkbox
j'ai déjà essayé sans résultat :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).
Code : Tout sélectionner
ControlCommand ("TNewCheckListBox","texte_de_la_checkbox", "TNewCheckListBox1", "Uncheck", "")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écocherRe: [..] Script d'Automatisation - Décocher une checkbox
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 :
Sinon en règle générale, pour cochez une checkbox, il suffit de se positionner dessus et appuyer sur Espace.
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
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [R] Script d'Automatisation - Décocher une checkbox
Je viens de m'en rapeller. Du coup cela fonctionne correctement avec un Send.jguinch a écrit : Sinon en règle générale, pour cochez une checkbox, il suffit de se positionner dessus et appuyer sur Espace.
C'est cette réponse que j'attendais ^^ merci ( je passe le titre en résolu ).
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?jguinch a écrit : Il faut toujours privilégier l'utilisation de ControlSend plutôt que Send.
- mikell
- 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
Hmm il me semble qu'il y avait une erreur dans les paramètres du ControlCommand
ça devrait marcher :
ç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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Script d'Automatisation - Décocher une checkbox
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 !
Re: [..] Script d'Automatisation - Décocher une checkbox
Il n'y a pas d'erreur d'exécution, mais la checkbox ne se décoche pas ...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", "")
Mais c'est possible que j'ai mal rempli les arguments.
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".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...
Alors que le même texte dans WinWaitActive ne pose pas de souci.
Du coup comment on échappe les simples quotes ?
Re: [R] Script d'Automatisation - Décocher une checkbox
Normalement, on ne les échappe pas.
Par contre pour le ControlCommand, tu peux essayer ça :
C'est quoi le texte exact de la checkbox ?
Par contre pour le ControlCommand, tu peux essayer ça :
Code : Tout sélectionner
ControlCommand ("titre_de_la_fenêtre", "", "[CLASSNN:TNewCheckListBox1]", "Uncheck", "")Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [R] Script d'Automatisation - Décocher une checkbox
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 :
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?
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", "")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?
Re: [R] Script d'Automatisation - Décocher une checkbox
En fait, je pense plutôt que tu devrais plutôt trouver un autre programme d'installation (sans toolbar)...
C'est quoi comme application ?
C'est quoi comme application ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [R] Script d'Automatisation - Décocher une checkbox
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.
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.
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.
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.
- parazitenew
- 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
Ce n'est pas encore reglé cette histoire? Je croyais avoir apporté la réponse absolue

Re: [R] Script d'Automatisation - Décocher une checkbox
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...
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 !
Re: [R] Script d'Automatisation - Décocher une checkbox
Je n'ai pas tout compris ^^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...
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 ^^
Re: [R] Script d'Automatisation - Décocher une checkbox
- 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 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 !
Re: [R] Script d'Automatisation - Décocher une checkbox
ok, Donc Inno Setup c'est l'équivalent de AutoIt ?
Re: [R] Script d'Automatisation - Décocher une checkbox
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).
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 !
Re: [R] Script d'Automatisation - Décocher une checkbox
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?
En tout cas merci pour les infos,
J'ai une dernière petite question, il y a un irc fr pour Autoit ou non?


