Recherche fenetre windows vis a vis du handle d'un processus

kickbar Messages postés 44 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 19 mars 2011 - 19 mars 2011 à 15:42
kickbar Messages postés 44 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 19 mars 2011 - 19 mars 2011 à 18:49
Bonjour a tous, voila je vien poster ici car je rencontre un probleme.


Je réalise une application relativement simple en C sous Dev-C++ 4.9.9.2 pour windows.
Cette application est capable de lire les offset d'un processus donnée, et simule des cliques souris sur la fenêtre générer par ce processus.

Jusqu'a la je n'avais rencontrer aucun probleme vus que l'application ne gérer qu'un seul processus et qu'une seul fenêtre, je récupérai le handle du processus grâce a son nom, et la fenêtre grâce a sa classe avec la fonction
FindWindow("MA_CLASSE", 0))


Donc depuis, j'essaye de modifier mon application pour lui permettre de gérer plusieurs instance de ce même processus, je peut donc me retrouver avec 2, 3 fois le même programme qui tourne en mémoire.

le nom du processus ne change pas, donc au lieu de récupérer un handle, je récupère tous les handles découlant du nom de mon processus dans un tableau, jusqu'a la pas de probleme, je demande par la suite a l'utilisateur de choisir un des processus trouver.

La ou je bloque c'est que pour chaque processus il y a une fenêtre, sachant que cette fenêtre a la même classe
et peut avoir un titre identique ou différent en fonction de l'état de l'application.

La fonction que j'utilisai pour récupérer la fenêtre me renvoi un seul handle, alors que moi je cherche a récupérer tous les handles des fenêtre et de les lié au processus, en clair de savoir qui appartient qui.

Je pense donc qu'il va falloir changer de fonction, la plus simple pour moi serait d'utiliser une fonction capable de me donner le handle de la fenêtre windows en fonction du processus sélectionner, j'ai beau chercher je ne trouve rien ;-(

Si quelqu'un a une idée je lui serait reconnaissant !

Merci d'avance pour la lecture de ce topic, et merci a tous ceux qui me permettront d'avancer dans mon code

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mars 2011 à 18:46
Partant de:
EnumWindows() et GetWindowThreadProcessId(), tu devrais trouver le reste.

ciao...
BruNews, MVP VC++
0
kickbar Messages postés 44 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 19 mars 2011
19 mars 2011 à 18:49
oui merci, c'est exactement ce que je vien de trouver, je suis dessus, merci de me confirmer que c'est bien la bonne solution ;-)
0
Rejoignez-nous