Page 1 sur 1

[R] ControlListView

Posté : jeu. 10 févr. 2011 15:13
par Orpheus45
Bonjour

J'essaye de faire une installation automatique pour l'installation d'un programme qui doit se retrouver sur plusieurs
ordinateurs. Malheureusement pour moi, durant l'installation j'arrive à une fenêtre ou je n'arrive pas à obtenir les informations adéquates par l'intermédiaire de AutoIt Windows Info.

Je tombe dans une fenêtre dont la ClassNameNN est du style : SysListView321. J'ai le choix de cocher trois cases, et je souhaite cocher la dernière case qui ne l'est pas, mais je ne peux avoir l'ID de cette dernière, car Windows Info me donne
les infos pour l'ensemble du cadre et non pas juste cette case

Après recherche sur le site,dans l'aide et sur Google je pense que la fonction me permettant de cocher ces trois cases est
celui cité dans le titre, soit ControlListView, mais je ne comprends pas l'aide d'AutoIt pour mettre en place cette fonction.

L'aide me donne :

Code : Tout sélectionner

ControlListView (@ProgramFilesDir & "\AutoIt3", "", "SysListView321", "SelectAll")
Moi je fais :

Code : Tout sélectionner

ControlListView ("[CLASS:SysListView32; INSTANCE:1]", "", "SysListView321", "SelectAll")
En sachant que [CLASS:SysListView32; INSTANCE:1] est l'Advance Mode du cadre dans lequel se trouve mes cases à cocher. Ce n'est peut etre pas ce nom que je dois choisir vous allez me dire pour pointer le cadre que je veux.

Par ailleurs quand je vois l'aide, je n'arrive pas à comprendre ce que @ProgramFilesDir & "\AutoIt3" veut dire.

Puis-je espérer une aide afin de me guider dans ma recherche car je pense à force de lire que la fonction est la bonne mais que je l'utilise mal.

Merci d'avance.

Re: [..] ControlListView

Posté : jeu. 10 févr. 2011 15:21
par zeshrek
pour une install automatique, tu as regardé si l'installeur de l'éditeur permettait une installation silencieuse ?
Le plus souvent il suffit de faire un fichier de parametrage de l'install (xml, iss...) qui contient les réponses a envoyer a l'installeur et basta...

c'est quoi ton programme ?

Re: [..] ControlListView

Posté : jeu. 10 févr. 2011 15:27
par Orpheus45
Oui, j'ai recherché s'il existait un mode silencieux comme office ou adobe par exemple.

J'ai même essayé d'utilisé un programme de recherche de ce genre de mode comme Universal Silent Switch Finder, mais
rien.

Pour le programme, il s'agit d'un pack de la Gamme Simatic de chez Siemens, afin de pouvoir dialoguer entre PC et entrées/sorties déportés via un réseau profibus. En faite toute mon installation se fait bien si je laisse cocher les cases par défaut, mais le fait de buter sur ce petit souci me laisse perplexe et je n'aime pas finir quelque chose tout en sachant qu'il y a un tout petit bout que je n'ai pas su faire.

Re: [..] ControlListView

Posté : ven. 11 févr. 2011 20:27
par Orpheus45
Personne n'a une petite idée pour me guider

:(

Re: [..] ControlListView

Posté : ven. 11 févr. 2011 22:12
par Tlem
Et une combinaison de tabulation / appuis sur la barre d'espace ne peut résoudre votre problème ?

Re: [..] ControlListView

Posté : sam. 12 févr. 2011 06:53
par Orpheus45
Cela peut être une solution effectivement, par contre je ne peux sélectionner le cadre, je n'ai pas trouver la fonction me permettant de le sélectionner.

Mais je pensais réellement que le controlListView était la bonne fonction à prendre afin de cocher toutes les options affichées lors d'une installation.

Par contre, je suis toujours preneur pour une explication de l'aide se trouvant dans AutoIt en ce qui concerne la définition comme je l'ai écrit dans mon premier message.

Merci

Re: [..] ControlListView

Posté : sam. 12 févr. 2011 10:41
par Tlem
En fait, dans ControlListView, vous avez plusieurs niveaux de contrôle qui peuvent être utilisés.

Si vous regardez bien l'aide de la commande :

Code : Tout sélectionner

ControlListView ( "title", "text", controlID, "command" [, option1 [, option2]] )
Vous avez en premier lieu "title" qui sera le titre ou le handle de la fenêtre principale contenant votre contrôle, et non comme vous l'avez utilisé la classe et l'instance du contrôle.
Ensuite nous avons un texte contenu dans la fenêtre principale (cf ci-dessus).
Notez que les deux paramètres ci-dessus ne servent qu'à 'localiser' la fenêtre où ce trouve le contrôle ListView.
Généralement, on utilise le premier paramètre et le deuxième on le laisse vide.

Puis controlID qui servira à localiser le contrôle à atteindre.
Et enfin "command" qui servira à 'piloter' le ControlListView.
Pour finir, vous pouvez ajouter des options de commande afin de parfaire votre 'pilotage' (ce seront les commandes mise entre crochet du tableau de l'aide de ControlListView).

Voilà. J'espère que ceci vous apportera plus d'éléments afin de piloter votre application. :wink:

Re: [..] ControlListView

Posté : sam. 12 févr. 2011 10:54
par Orpheus45
Merci pour ces informations, et je suis rassuré, c'est bien ce que j'avais compris sauf la premier partie ou vous avez mis "Title", dans l'aide il y a un @ProgramFile, et cela m'avait laisser perplexe, d'où mon erreur d'avoir pris la classe et l'instance.
Je vais essayer de mettre cela en pratique et n'oublierai pas de mettre le fameux R .

Encore merci