[..] Sélection dans une fenêtre d'un programme

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sendoval
Niveau 1
Niveau 1
Messages : 4
Enregistré le : sam. 07 avr. 2012 19:07
Status : Hors ligne

[..] Sélection dans une fenêtre d'un programme

#1

Message par sendoval »

Bonjour à tous,

Je suis ultra débutant dans la prog. En ce moment je cherche à automatisé le paramétrage d'un logiciel.
Je bloque à une étape qui m'empêche d'allé plus loin dans mon objectif. Ma question est la suivante :
Existe-t il un moyen de sélectionner des données d'une fenêtre ?
Dans mon cas, l'idée serais de sélectionné le profil utilisateur du poste, qui s'affiche dans la fenêtre.

Si vous avez besoin d'élèments n'hésitez pas!!!

Merci pour votre aide!!!
Un geek en attente de réponses :mrgreen:
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#2

Message par PandiPanda »

Bonsoir,
cela dépend de quel "fenêtre" vous voulez parlez !
avez vous essayé l'utilitaire "AutoIt Window Info" ?
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
sendoval
Niveau 1
Niveau 1
Messages : 4
Enregistré le : sam. 07 avr. 2012 19:07
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#3

Message par sendoval »

Bonjour,
Si cela peut vous aider j'ai cette fenêtre info :

Title: User Profile Wizard
Class: #32770
Basic Control Info

Class: SystListView32
Instance:1

Onglet Control
Class: SystlistView32
Advanced Mode: [CLASS:SysListView32;INSTANCE:1]


L'idée est de sélectionner la ligne qui correspondrais à un truc du genre \\TOTO\@username
Est-ce faisable ?

Ci-dessous le code :
$user=@username
$item = ControlListView("User Profile Wizard","","SysListView321","FindItem", "TOTO\$user")
ControlListView("User Profile Wizard","","SysListView321","Select", $item)

Cela ne sélectionne rien du tout :evil:

Merci encore pour votre aide
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 une fenêtre d'un programme

#4

Message par Tlem »

Merci d'utiliser les balises adéquates pour encadrer vos codes.
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é".
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#5

Message par lesolutionneur »

Oui, un

Code : Tout sélectionner

[code]
[/code]
me parait justifié.

Au passage, fournissez-nous une capture d'écran de ladite fenêtre.
sendoval
Niveau 1
Niveau 1
Messages : 4
Enregistré le : sam. 07 avr. 2012 19:07
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#6

Message par sendoval »

Merci pour votre aide :

L'idée est de sélectionner la ligne qui correspondrais à un truc du genre \\TOTO\@username
Est-ce faisable ?
Le code :

Code : Tout sélectionner

$user=@username
$item = ControlListView("User Profile Wizard","","SysListView321","FindItem", "TOTO\$user")
ControlListView("User Profile Wizard","","SysListView321","Select", $item)

 
En fichier joint une capture de la fenêtre en question :
Fichiers joints
Profwiz_1.JPG
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#7

Message par mikell »

Code : Tout sélectionner

$hWnd = WinGetHandle("User Profile Wizard")
WinActivate($hWnd)
$hListview = ControlGetHandle($hWnd, "", "[CLASS:SysListView32;INSTANCE:1]")
$count = ControlListView($hWnd, "", $hListview, "GetItemCount")
For $i = 0 to $count-1
  $txt = ControlListView($hWnd, "", $hListview, "GetText", $i, 0)
  If StringInStr($txt, $user) Then    [color=#FF0000] ; $user à définir[/color]
      $txt2 = ControlListView($hWnd, "", $hListview, "GetText", $i, 1)
      Msgbox(0,"", $txt & @TAB & $txt2)
      Exitloop
  EndIf
Next
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
sendoval
Niveau 1
Niveau 1
Messages : 4
Enregistré le : sam. 07 avr. 2012 19:07
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#8

Message par sendoval »

Merci

Le code ci-dessus affiche bien une message box mais ce que je voudrais c'est pouvoir sélectionner avec la souris (Pouvoir le souligné en bleu dans l'image ci-dessous )
Fichiers joints
Profwiz_2.JPG
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sélection dans une fenêtre d'un programme

#9

Message par mikell »

Si le retour dans la msgbox (qui sert de test de vérification) est correct, alors dans le script il suffit de mettre

Code : Tout sélectionner

For $i = 0 to $count-1
  $txt = ControlListView($hWnd, "", $hListview, "GetText", $i, 0)
  If StringInStr($txt, $user) Then     ; $user à définir
      ControlListView($hWnd, "", $hListview, "Select", $i) [color=#FF0000]  ;<<<<<[/color]
      Exitloop
  EndIf
Next
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre