Question

Je dois utiliser SendMessage simulant BOF utilisateur clique dans un programme cible sous forme de blocs SendMessage jusqu'à ce que l'événement qu'il déclenche est terminé le traitement. La raison est que ce blocage donne la possibilité de détecter si les boîtes de dialogue ont ouvert à la suite du clic. Mon problème est actuellement que même si je peux obtenir le clic pour travailler en utilisant des messages WM_LBUTTONDOWN et WM_LBUTTONUP consecutivly sur un bouton dans une maquette de forme qui ouvre une boîte de dialogue de modèle, je ne peux pas l'obtenir pour travailler sur les menus et éléments de menu dans une fenêtre standard app ( Bloc-notes). Toute aide à obtenir la possibilité d'effectuer des clics sur des éléments de menu d'une manière qui fonctionne serait apprecieated. Je peux déjà détecter s'il est un élément de menu, juste besoin d'être en mesure de simuler un clic dessus avec le blocage en utilisant SendMessage.

Vive

Ross

Était-ce utile?

La solution

Malheureusement, cette page sur crochets win32 dit

  

simuler la souris et du clavier (WH_JOURNALPLAYBACK). Les crochets offrent le seul moyen fiable pour simuler ces activités. Si vous essayez de simuler ces événements en envoyant ou l'envoi de messages, de Windows ne mettent pas à jour internes de l'état du clavier ou de la souris, ce qui peut conduire à un comportement inattendu. Si les crochets sont utilisés pour lire les événements clavier ou souris, ces événements sont traités exactement comme clavier réels ou les événements souris.

Il semble que vous pourriez avoir à recourir à une sorte de macro fonctionnalité comme enregistreur pour vos tests automatisés en utilisant WH_JOURNALRECORD et WH_JOURNALPLAYBACK?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top