[..] Sélection dans un menu déroullant.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
gege
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 20:03
Status : Hors ligne

[..] Sélection dans un menu déroullant.

#1

Message par gege »

Bonjour,
Après plusieurs recherche et plusieurs essai, je n'arrive pas a sélectionner le nom d'une imprimante dans un menu déroulant. Pour pouvoir finir mon programme d'automatisation d’installation d'imprimante sur plusieurs PC.
Je suis débutant dans se domaine. Pourriez-vous m'écrire les quelques lignes manquante de code précis pour sélectionner l'imprimante (Canon LBP6680/3480 PCL5e) désiré dans le menu déroulant.
Merci d'avance pour votre aide.
image de la fenêtre avec le menu déroulant
[img][img]http://img.imagesia.com/fichiers/cp/imprimante_imagesia-com_cpi2_large.PNG[/img][/img]
Merci d'avance pour votre aide.
► Afficher le texte
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#2

Message par jguinch »

Regarde la fonction ControlListView() dans la doc, avec "FindItem" puis "Select", tu devrais pouvoir t'en sortir.

Code : Tout sélectionner

$sRef = "HP LaserJet 4000"
$index = ControlListView( "Ajouter une imprimante", "", "[CLASS:SysListView32; INSTANCE:1]", "FindItem", $sRef)
ControlListView( "Ajouter une imprimante", "", "[CLASS:SysListView32; INSTANCE:1]", "Select", $index)
Sinon, pour la gestion des imprimantes, tu peux regarder cet UDF
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#3

Message par Tlem »

Bonsoir.
Essayez de mettre le focus dans la vue en liste puis envoyez la séquence de touches correspondantes :

Code : Tout sélectionner

Send("Canon LBP6680")
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
gege
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 20:03
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#4

Message par gege »

Bonjour,
Merci pour vos réponses,
En ce qui concerne la réponse de Tlem, j'avais déjà essayer cette possibilité que j'ai renouveler pour avoir une confirmation qu'elle ne fonctionne pas.

jguinch; j'ai regarder la documentation sur les deux fonctions ControlListView() "FindItem", je n'ai pas compris tes lignes de code et ces fonctions. Pourrais tu être un peu plus claire dans ta démarche que je puisse faire l'essai.

Quand la fenêtre du menu déroulant apparait, la première imprimante de la liste et déjà sélectionner en bleu.
j'ai fais l'essai avec la commande "send ("{DOWN 32}")" pour faire descendre ma sélection. Elle change bien de position mais de façon aléatoire donc je ne suis jamais sur la même sélection.
Merci de soutenir mon projet.

Image
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#5

Message par Tlem »

Vous est-il possible de donner un lien de téléchargement de votre installateur pour qu'on puisse voir ça de près ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
gege
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 20:03
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#6

Message par gege »

Bonjour,
(système d'exploitation OS des PC Win7)
Le lien de téléchargement du driver de l'imprimante Canon LBP6680/3480 PCL5e et
http://www.canon.fr/Support/Consumer_Pr ... oad&page=1

J'ai fais des essais avec la commande MouseClickDrag("left", 1110, 459, 1110, 500,100) sa ne fonctionne pas avec le système d'installation Canon (la souris se déplace correctement mais ne sélectionne pas la barre latérale coulissante du fichier d'installation).
Merci de vous occupez de mon soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#7

Message par Tlem »

Bonjour.
Je n'avais pas de Windows 7 sous la main, donc j'ai testé sous XP.
Visiblement le texte de la liste n'est pas facilement accessible en lecture pour AutoIt. Mais comme vous avez une version déterminée du pilote, vous savez à quelle position ce trouve le pilote dont vous avez besoin.
Donc voici un code de sélection du pilote que j'ai testé et qui fonctionne sur XP :

Code : Tout sélectionner

; Sélection de la ligne 35 : LBP6680/3480
For $i = 1 To 35
    ControlSend("[CLASS:#32770]", "Liste des imprimantes", "[CLASS:ListBox; INSTANCE:1]","{DOWN}")
    Sleep(100)
Next

ControlClick("[CLASS:#32770]", "Liste des imprimantes", "[CLASSNN:Button1]", "left")
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#8

Message par jguinch »

Mon code précédent n'aurait pas pu fonctionné, vu que la liste est une Listbox et non une Listview.
L'UDF GuiListBox.au3 (intégré à AutoIt), permettra de manipuler ce type de contrôle.

J'ai téléchargé le programme d'installation, ça à l'air de fonctionner avec ça :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
gege
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 20:03
Status : Hors ligne

Re: [R] Sélection dans un menu déroullant.

#9

Message par gege »

bonjour,

Tlem
jguinch
j'ai incorporé l'une après l'autre, vos quelques lignes de code sous windows 7 dans mon programme et les deux fonctionnent très bien. Je vous en remercie. Je ne les aurais jamais trouvé tout seul, c'était trop compliqué pour moi.

celle de Tlem est encore facilement compréhensible
celle de jguinch je ne l'ai pas comprise
encore merci à vous 2
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Sélection dans un menu déroullant.

#10

Message par Tlem »

Bonsoir.
Vous dites ne pas comprendre le code de jguinch, mais pourtant il a mit suffisamment de commentaires pour détailler chaque action importante. ^^

Refaite une lecture plus posée et regardez la documentation des fonctions, car sa méthode à le mérite de ne pas se baser sur la Xième ligne qui est supposée être tel pilote, mais bel et bien par rapport au nom de la machine. Son code est certes plus compliqué, mais bien mieux abouti et pérenne.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre