Je veux envoyer un événement pressKey à une certaine application qui n'est pas l'application active dans Windows, donc je dois utiliser les appels api sendMessage/postMessage.Comment puis-je obtenir le ChildWindow actif d'une application?
Cependant, je dois connaître la fenêtre exacte de l'enfant qui est actif dans l'application et envoyer le message pressKey à elle ...
j'utilisais api GetTopWindow et GetWindow (GW_CHILD) appelle à amener l'enfant top fenêtre de la fenêtre principale, et faites-le à nouveau avec la fenêtre enfant obtenue pour obtenir le premier petitchildWindow, et continuez jusqu'à ce que je trouve une fenêtre enfant avec plus childwindows. Cela fonctionne très bien pour certaines applications, mais dans certains cas, ce n'est pas le cas. Parfois, la fenêtre parente est la fenêtre active, pas une de ses fenêtres enfants, donc l'obtention de la première fenêtre enfant du parent ne fonctionnera pas car je vais envoyer un message à la mauvaise fenêtre. La seule façon que j'ai trouvé de faire cela (obtenir le gestionnaire de la fenêtre active réelle) était d'utiliser l'appel API GuiThreadInfo mais cela ne fonctionne que si l'application cible est celle active dans Windows. Comme je l'ai mentionné au début, ce n'est pas le cas, le gestionnaire est nul.
Je peux amener l'application au sommet en utilisant l'appel api setForegroundWindow, mais je ne veux pas faire cela. J'ai également essayé les appels api AttachThreadInput et GetFocus, mais encore une fois, ils ne fonctionnent que si l'application cible est l'application active dans Windows.
Des idées? Merci
Lorsqu'une application n'est pas actif, il ne dispose pas d'une fenêtre active, donc pas tout à fait sûr de ce que vous cherchez ou comment vous » d mettre en œuvre de manière fiable quelque chose comme ça. Qu'est-ce que vous essayez de faire? – jdigital