Compter le nombre de handle

Signaler
Messages postés
64
Date d'inscription
vendredi 16 septembre 2005
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Je fais un petit programme qui tests la stabilité d'un système.

Je voudrais savoir comment avoir le nombre de handle utilisé par un programme ou une tache.

Merci

4 réponses

Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Essaye EnumChildWindows() ca te fait la liste des controls et les renvoi a une procedure avec le hwnd !!!
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
NtQuerySystemInformation() avec SystemProcessesAndThreadsInformation
Pendant l'enum, faut comptabiliser membre ULONG HandleCount de struct SYSTEM_PROCESSES.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
64
Date d'inscription
vendredi 16 septembre 2005
Statut
Membre
Dernière intervention
31 mars 2009
1
Merci BruNems mais puis-je avoir quelque précision ?

L'Argument SystemProcessesAndThreadsInformation n'est pas présent dans NtQuerySystemInformation(). ET surtout ce n'est pas mon process que je veut surveiller mais des process externe dont j'ai seulement le nom... et GEtProcessId j'y arrive pas non plus.

J'Ai penser utiliser GetPorcessHandleCount mais vu quelque fonctionne uniquement depuis xp je ne peut pas utiliser cette fonction car j'utilise plusieurs os.

ET passer par l'api avec ntdll.dll uniquement pour ca ca ne tente vraiment pas ...

MErci
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Mais enfin, tout est là:
http://www.cppfrance.com/code.aspx?id=17658

dwres = 0;
et pendant l'enum:
dwres += pprcss->HandleCount;

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++