[R] Lister les contrôles présents dans une fenêtre

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2514
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

[R] Lister les contrôles présents dans une fenêtre

#1

Message par jguinch »

Bonjour.
J'aimerais savoir s'il est possible de lister tous les contrôles présents dans une fenêtre ? Un peu comme AutoIt Window Info, mais automatiquement, sans avoir à survoler les éléments, juste en sélectionnant la fenêtre (par example).
Désolé si le sujet n'est pas dans la bonne section.
Merci d'avance pour votre aide
Modifié en dernier par jguinch le jeu. 22 nov. 2012 22:22, modifié 1 fois.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [...] Lister les contrôles présents dans une fenêtre

#2

Message par FireFox »

Bonsoir,
Sans chercher, la première idée qui me viendrait à l'esprit serait de lister les contrôles par leur ID.

Code : Tout sélectionner

#include <WinAPI.au3>

Global $hDesktopWnd, $hCtrl, $i = 0

$hDesktopWnd = _WinAPI_GetDesktopWindow()

While 1
    $hCtrl = ControlGetHandle($hDesktopWnd, "", $i)
    If $hCtrl = 0 Then ExitLoop
    ConsoleWrite($hCtrl & @CrLf)

    $i += 1
WEnd
 
Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:47, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2514
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Lister les contrôles présents dans une fenêtre

#3

Message par jguinch »

Bonjour
Merci FireFox, je n'avais pas pensé à faire comme ça...
Du coup, j'ai la liste des handles, je vais chercher pour avoir d'autres infos (avec WinApi + ControlGet)
Je laisse le sujet ouvert, j'aurai d'autres question...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2514
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Lister les contrôles présents dans une fenêtre

#4

Message par jguinch »

Finalement en creusant un peu, c'était assez simple.
Il suffisait de partir avec WinGetClassList pour avoir la liste, puis un peu d'imagination...
Je posterai prochainement un petit exemple.
Merci pour votre aide
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre