OVH Cloud OVH Cloud

[API] Lister les éléments d'une fenêtre

4 réponses
Avatar
delirman49
Bonjour,

Apr=E8s avoir r=E9cup=E9r=E9 le handle d'une fen=EAtre, je souhaiterais
lister les =E9l=E9ments de cette fen=EAtre (bouton, zone de saisie,
etc...) afin d'injecter du texte dans une zone de saisie.

Apr=E8s avoir inject=E9 ce texte, je souhaiterais simuler un clic sur un
bouton de cette m=EAme fen=EAtre.

Si quelqu'un peut me filer un coup de main.

Merci

4 réponses

Avatar
© ---- FX ---- ©
Bonsoir,

Après avoir récupéré le handle d'une fenêtre, je souhaiterais
lister les éléments de cette fenêtre (bouton, zone de saisie,
etc...) afin d'injecter du texte dans une zone de saisie.

Après avoir injecté ce texte, je souhaiterais simuler un clic sur un
bouton de cette même fenêtre.

Si quelqu'un peut me filer un coup de main.



Tu as mis API comme balise dans ton sujet, c'est probablement que tu veux
absolument le faire par les API ?
Sinon, selon la version de WD que tu utilises (une petite balise aurait
peut-être été la bienvenue) tu peux utiliser les fonctions d'enumérations du
type EnumèreChamp, EnumèreSousElément et TableEnumèreColonne.
En Windev 5.5 les fonctions a utiliser sont différentes (en fait elles
n'existaient pas officiellement).
Pour les clics voir les fonctions SendMessage et PostMessage

Si tu tiens vraiment à utiliser les API regarde du coté des fonctions
"GetWindow" puis "EnumChildWindows" ... de "User32"
Le site MSDN Library
http://msdn.microsoft.com/library/default.asp
te donnera toutes les syntaxes nécessaires

Amitiés.

--
Francis MOREL
Avatar
delirman49
Le logiciel pour lequel je souhaites lister les éléments d'une
feneêtre n'a pas été développé en windev d'où le fait que je ne
puisse pas utiliser les fonctions "Enumère" de windev

Cordialement
Avatar
© ---- FX ---- ©
> Le logiciel pour lequel je souhaites lister les éléments d'une
feneêtre n'a pas été développé en windev d'où le fait que je ne
puisse pas utiliser les fonctions "Enumère" de windev



Alors à mon avis, donner le langage et la version utilisé n'aurait pas été
de trop.
Le code sera bien différent selon ce que tu utilises, java, C, C++, C++/CLI,
Fortran .....
En plus poster dans le forum adéquat te permettra d'avoir des réponses plus
appropriées

A+

--
Francis MOREL
Avatar
Bertrand
je m'aventure peut-être en disant que l'appli dont fait parti la
fenêtre évoquée n'est pas en windev.
et que sa question concerne donc un dev en windev dans lequel il veut
réaliser cette opération concernant un programme externe donc.

ça fait pas avancer, c'est juste pour éventuellement préciser ;-)