Mémoire et EnumWindows
Le
cs.pronergia

Bonjour,
J'ai besoin de connaitre en temps réel les fenêtres ouvertes ou fermé=
es par des applis.
J'utilise donc la fonction enumWidows avec les conditions de recherche né=
cessaires. Quand je regarde la mémoire consommée par mon code dans le g=
estionnaire de taches, elle ne cesse de grimper.
J'ai donc réduis mon code au plus simple pour tester. Mais toujours parei=
l.
Cela ne risque t-il pas de poser de problème si mon code tourne plusieurs=
heures?
Pourquoi cette "consommation" à chaque énumération?
BOOL CALLBACK EnumAllWindows(HWND hwnd, LPARAM lParam)
{
printf("liste ");
return TRUE;
}
int main(int argc, char *argcv[])
{
while(1)
{
if(EnumWindows(EnumAllWindows, 0) == 0)
return 0;
Sleep(100);
}
return 0;
}
J'ai besoin de connaitre en temps réel les fenêtres ouvertes ou fermé=
es par des applis.
J'utilise donc la fonction enumWidows avec les conditions de recherche né=
cessaires. Quand je regarde la mémoire consommée par mon code dans le g=
estionnaire de taches, elle ne cesse de grimper.
J'ai donc réduis mon code au plus simple pour tester. Mais toujours parei=
l.
Cela ne risque t-il pas de poser de problème si mon code tourne plusieurs=
heures?
Pourquoi cette "consommation" à chaque énumération?
BOOL CALLBACK EnumAllWindows(HWND hwnd, LPARAM lParam)
{
printf("liste ");
return TRUE;
}
int main(int argc, char *argcv[])
{
while(1)
{
if(EnumWindows(EnumAllWindows, 0) == 0)
return 0;
Sleep(100);
}
return 0;
}
J'ai lancé ton petit prog, et la mémoire ne bouge absolument pas chez moi
(XP 32-bits)
Et ça parait normal vu qu'il n'y a pas de bug de mémoire apparent
Merci pour ta réponse Jérémy.
Dans le doute j'ai créé un nouveau projet et recopié le code. Mais le problème persiste.
Je lance le code et la mémoire monte progressivement en 2 heures d'enviro ns 1500K à 18000K.Je ne comprends vraiment pas pourquoi.
Sous win 7, j'utilise code:blocks.
J'ai compilé sous Visual Studio, c'est peut etre la difference..
Je reste perplexe sur ce dernier point. J'en aurai le cœur net en début d'année, j'installerai visual studio.