Enumwindow

Résolu
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 - 27 mai 2008 à 18:18
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 - 27 mai 2008 à 20:12
Salut a tous.
Je cherche a enumerer les fenetres qui ce trouvent dans le gestionaire de tache -> application.

BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam){
TCHAR text[100];
GetWindowText(hwnd,text,sizeof(text));
return TRUE;
}

EnumWindows((WNDENUMPROC)EnumWindowsProc,NULL);

Cela marche mais ca m"enumere pas que ce type de fenetre.
Merci a vous de m'aider.

10 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 mai 2008 à 18:32
IsWindowVisible()

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 mai 2008 à 19:22
GetWindowRect()

ciao...
BruNews, MVP VC++
3
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
27 mai 2008 à 19:11
En effet cela fonctionne merci.
N'y a t'il pas plus rapide?
Exemple me renvoyer que les fenetres windows?.
Ou autre.
Merci a toi .
0
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
27 mai 2008 à 19:20
A oui j'oubliai.
Serait il possible aussi de recuperer la taille + position etc de chaques fenetres(grace au hwnd)?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
27 mai 2008 à 19:24
Super merci encore.
0
jeffy131 Messages postés 123 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 29 mars 2009 1
27 mai 2008 à 19:26
> En effet cela fonctionne merci.

Non, cela fonctionne dans ton cas, mais ce n'est pas du tout suffisant.
Voir la méthode officielle, souvent postée sur Usenet et dans MSDN...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 mai 2008 à 19:43
J'espère que tu as mis "Usenet" en raccourci clavier...

Donne lui donc un lien vers cette "méthode officielle" ou vers Usenet mais limiter toutes tes réponses à cela n'avance pas l'affaire d'un iota.

ciao...
BruNews, MVP VC++
0
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
27 mai 2008 à 19:48
Tiens pendant que je vous tiens.
Je veux mettre les HWND des fenetres dans un tableau.
HWND * hwnd.

mais je ne connais pas la taille(nombre de hwnd) je voudrai l'imcrementer au fur et a messure que je trouve les fenetres.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 mai 2008 à 20:04
Vraiment utile dans un tableau ??? Cette liste peut changer à tout moment.

Les realloc sont contre performants, je ferais un VirtualAlloc de 4096 (taille de page), ce qui permet d'en mettre 1024, et j'insèrerais dans l'enum en vérifiant le compteur. Si dépasse (peu de cha,ces), tu doubles la taille mémoire et tu relances l'enum. Ensuite tu traites vite fait et tu fais un VirtualFree.

ciao...
BruNews, MVP VC++
0
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
27 mai 2008 à 20:12
Remarque tu as raison ,les fenetres il y ena  tres peu.
Ca depasse jamais la dixaine.
Merci beaucoups.
0
Rejoignez-nous