Liste des fenetres des processus

Signaler
Messages postés
3
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 novembre 2005
-
Messages postés
3
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 novembre 2005
-
bonjour,
Je cherche comment obtenir la liste des fenêtres de chaque process (en code managé si possible). Pour la liste des process pas de problème mais pour la liste des fenetres je n'ai pas trouvé. Seule la fenêtre principale est directement accessible à partir de l'ID du process.

Cordialement
Alan.G

6 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Salut,

Via les API, plus particulièrement avec EnumChildWindows.

/*
coq
MVP Visual C#
*/
Messages postés
3
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 novembre 2005

Merci tout d'abord pour ta réponse .

Cette fonction si j'ai bien compris renvoie les "fenetres filles". En fait je cherche les fenetres "top level".
Par exemple lorsqu'on lance notepad je cherche à obtenir le handle de la fenetre principale. Dans le cas de notepad il n'y a qu'une seule fenetre "top level". Pa contre lorsque l'on a une application comme par exemple le player video Zoomplayer ( Zplayer.exe) il y a 2 fenetres top level : une de classname TApplication et une de className TMainForm. Hors la fonction MainWindowHandle de la class process renvoie le handle de TApplication. Malheureusement ce handle ne correspond pas à la fenetre affichée qui est la TMainForm. Dou l'idée de récuperer la liste des fenetres "Top level" d'un process.

Dans la Win32 on pouvait utiliser la fonction EnumWindows pour obtenir toutes les top level puis on fait le tri pour trouver celles qui correspondent au process désiré.

Mais en code managé existe-t-il une solution ?

Bye
Alan.G
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
50
Est-ce que l'utilisation de ce code pourrait t'aider ?
Il ne fait pas ce que tu veux a la base, mais il liste bien les fenetres

Mx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
50
Oups, j'avais pas lu ton dernier message

Mx
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
A ma connaissance il n'y en a pas qui soit intégré au Framework
Donc il va falloir jouer avec les API :-)

/*
coq
MVP Visual C#
*/
Messages postés
3
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
21 novembre 2005

Bon et bien tant pis on va utiliser la Win 32
Merci beaucoup pour vos réponses

Bye
Alan.G