Automatiser Clic et identifier bouton

Signaler
Messages postés
3
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
18 décembre 2008
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
Bonjour,
j'aimerais créer un programme qui clique toutes les 5 secondes sur un bouton. Malheureusement ce bouton n'est pas une fenêtre, je ne peux donc pas utiliser FindWindowEx. J'arive juste à connaitre le nom de la fenêtre contenant le bouton et celle ci en contient 5 autres...
Comment faire pour obtenir l'identifiant d'un bouton et comment lui transmettre un ordre ?
merci de m'aider.

3 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Si, tu peux bien utiliser FindWindowEx() pour trouver le handle de tous les boutons d'une fenêtre:
HWND hwndbouton=FindWindowEx(hwndparent,0,0,"Ok");
Ici on récupère le HWND du bouton nommé "Ok".
Tu peux ensuite avoir son identificateur:
UINT idbouton=GetWindowLong(hwndbouton,GWL_ID);
Messages postés
3
Date d'inscription
vendredi 9 mai 2008
Statut
Membre
Dernière intervention
18 décembre 2008

Ok merci pour ta réponse, le problème c'est que le bouton n'a pas de nom car c'est un bouton pour déclencher la lecture d'un texte. Il dispose uniquement d'un logo en forme de triangle...
Existe t il quand même une solution ?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Tu peux utiliser FindWindowEx() plusieurs fois pour tomber sur le bon bouton:
HWND bouton1,bouton2,bouton3,bouton4,bouton5,bouton6;
bouton1=FindWindowEx(hwndparent,0,"button",0);
bouton2=FindWindowEx(hwndparent,bouton1,"button",0);
bouton3=FindWindowEx(hwndparent,bouton2,"button",0);
bouton4=FindWindowEx(hwndparent,bouton3,"button",0);
bouton5=FindWindowEx(hwndparent,bouton4,"button",0);
bouton6=FindWindowEx(hwndparent,bouton5,"button",0);
Une fois tu as trouvé le Z-ORDER du bouton voulu, tu peux supprimer les appels inutiles. Il est également possible d'utiliser une boucle while().
Si le bouton voulu a un identificateur, tu peux utiliser spy++ pour le récupérer et le réutiliser dans ton code.