Automatiser Clic et identifier bouton

Rogue2575 Messages postés 3 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 18 décembre 2008 - 17 déc. 2008 à 17:44
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 - 18 déc. 2008 à 21:42
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

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
17 déc. 2008 à 19:01
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);
0
Rogue2575 Messages postés 3 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 18 décembre 2008
18 déc. 2008 à 18:44
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 ?
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
18 déc. 2008 à 21:42
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.
0
Rejoignez-nous