SendMessage: erreur!!

Signaler
Messages postés
34
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
-
Messages postés
34
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009
-
Bonjour,
j'essaie de simuler le click sur un bouton d'une barre d'outils, j'ai le handle de ma fenêtre,l'id de mon controle, j'envoie le message suivant:
 SendMessage(handle, WM_COMMAND, idCtrl, 0); 

mais au lieu d'activer la fonctionnalité associé au bouton, mon code annule l'affichage de la barre d'outils!!!
je ne comprends pas
help!
A voir également:

4 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Il y'a surement un truc qui cloche ailleurs dans ton code car ton SendMessage est correct et devrait marcher. Assure-toi que handle et idCtrl sont bons.
Messages postés
34
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009

pour le handle je suis sûre que c'est le bon, j'ai vérifié avec spy++...
pour idCtrl, je n'ai pas accès au code source du logiciel, donc...
avez vous une idée pour être sûr si c'est le bon ou pas?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Avec Spy++ tu peux capturer tous les messages WM_COMMAND envoyés à la fenêtre. Ainsi, après clic sur le bouton voulu, tu verras son ID. Il est préférable dans ton SendMessage de mettre le HWND de la toolbar en dernier paramètre car il est possible qu'il soit utilisé par le programme espionné. A toi de vérifier.
Messages postés
34
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
25 août 2009

ça aurait été bien si c'était si simple
seulement j'ai vérifié et re-vérifié une dizaine de fois: après clic sur mon buton, aucun WM_COMMAND n'est envoyé
c'est plutôt des:
* WM_PARENTNOTIFY fwEvent:WM_LBUTTONDOWN xPos:459 yPos:10
* WM_MOUSEACTIVATE hwndTopLevel:00010334 nHittest:HTCLIENT uMsg:WM_LBUTTONDOWN

et après je crois que ça commence à décrire les changements avec des WM_WINDOWPOSCHANGING...
:help: