Ma réponse ne se base que sur des hypothèses qu'il faudrait vérifier.
Le message "WM_COMMAND" n'est pas généré par le système de fenêtrage de Windows.
Ce système génère un "WM_LBUTTONUP" qui est envoyé à la routine de fenêtre du bouton. La routine de fenêtre par défaut du bouton poste le message WM_COMMAND au parent de celui-ci.
Maintenant, prenons l'hypothèse que ce n'est pas la routine par défaut du bouton mais une autre, comme la routine de fenêtre MFC, qui est appelée.
Pour rappel, la routine de fenêtre des MFC permet de mettre ne oeuvre le modèle Document/Vue des MFC en routant les commandes depuis les Vues vers les Documents, entre autres choses.
Cette routine, comme celle des MFC, n'est pas obligé de poster un WM_COMMAND avec BN_CLICKED. Dans le cas des MFC, elle route la commande dans un dédale d'objets qui implémente un modèle bien plus complexe qu'une hiérarchie de fenêtre, rendant inutile voir dangereux l'envoyé d'un message WM_COMMAND.
Votre application espionnée peu utiliser les MFC ou tout autre framework graphique du même acabit.
Si vous voulez être prévenu quelque soit le framework graphique, il faut prendre un message bien plus en amont. Gérez le "WM_LBUTTONUP" par exemple.
P.S. : désolé pour le retard mais les vacances sont passées par là.![]()
Partager