Problème avec GetDlgItem

Résolu
Signaler
Messages postés
9
Date d'inscription
samedi 24 octobre 2009
Statut
Membre
Dernière intervention
5 novembre 2006
-
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
-
Bonjour à tous et à toutes !

J'aimerai pouvoir cliquer sur un bouton présent dans une application externe dont je n'ai pas le code source, pour cela j ai récupéré le Handle de la fenetre de cet application via l'Api "FindWindow" , une fois cet handle récupéré je pensais récupéré le handle du bouton en question via l'api  "GetDlgItem" pour ensuite effectuer mon click , seulement voila l api  GetDlgItem demande deux paramétres:
 
Private Declare Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long

 - Le handle de la fenetre ( que j ai ! )
 - L'Id du bouton  en question ( que je n ai pas )

Ma question est donc simple , comment récupérer cet ID  ?

Merci d'avance pour votre aide.

A bientot.

3 réponses

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
24
salut,

avec un éditeur de ressources si la fenêtre est une resource dialogue...http://www.angusj.com/resourcehacker/...voir dans la ressource dialog l'ID du bouton...

sinon utiliser findwindowex sur le handle de la fenêtre....avec la classe BUTTON (me semble-t-il ?) et le texte de ton bouton...

ShareVB
Messages postés
9
Date d'inscription
samedi 24 octobre 2009
Statut
Membre
Dernière intervention
5 novembre 2006

Salut,

Avec l api FindwindowEx j ai pu prendre le controle de la calcultrice windows  et surtout de ces boutons 
Cependant pour le soft que je désirer manier , le bouton en question semble etre dans un controle "TToolBar" je vais donc essayer de creuser un peu tout ca  pour arriver à mes fins !

Merci bcp pour ton aide ;)

+++
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
24
salut,

par exemple :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/toolbar/reflist.asp

et TB_BUTTONCOUNT  et TB_PRESSBUTTON...by index...

attention toute fois que si tu utilises des messages genre TB_GETBUTTON, il te faudra utiliser aussi des fonctions comme VirtualAllocEx...voir au besoin http://www.vbfrance.com/codes/COMMENT-SAUVEGARDER-RESTAURER-POSITION-ICONES-SUR-BUREAU_8433.aspx

ShareVB