Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Questions sur les process Windows

3 views
Skip to first unread message

Oliv

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to
Hello

Je me pose quelques questions sur les processes windows :
- Comment obtient-on le handle d'un process ? A passer à GetProcessTimes
par ex. ? Je n'ai rien trouvé dans win32.hlp.
- Y a-t-il une fonction qui permette d'énumérer les processes en cours
d'exécution ? Un genre de EnumProcess (que je n'ai pas trouvé)....
- Les processes ont-ils un PID comme sous Unix/Linux ?
- Si oui, comment l'obtenir ?

Voilà, c'est tout, mais c'est déjà beaucoup :-)
Merci pour les réponses éventuelles

Tenebrax

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to

"Oliv" <opi...@wanadoo.fr> a écrit dans le message news:
8lfqe1$daf$1...@wanadoo.fr...

> Hello
>
> Je me pose quelques questions sur les processes windows :
> - Comment obtient-on le handle d'un process ? A passer à
GetProcessTimes
> par ex. ? Je n'ai rien trouvé dans win32.hlp.

tu sais que cette fonction n'est disponible que sous NT?

tu l'obtiens en énumérant les process...

> - Y a-t-il une fonction qui permette d'énumérer les processes en cours
> d'exécution ? Un genre de EnumProcess (que je n'ai pas trouvé)....

ouaip, mais ça dépend de la version de win... si tu veux j'ai un petit
source (made in Krosoft) qui fait cela...

> - Les processes ont-ils un PID comme sous Unix/Linux ?

ouaich...

> - Si oui, comment l'obtenir ?

tu l'obtiens en énumérant les process...

--
Tenebrax
http://graff.ctw.net

Jean-Claude BELLAMY

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to Oliv
Oliv wrote:
> Je me pose quelques questions sur les processes windows :
> - Comment obtient-on le handle d'un process ? A passer à GetProcessTimes
> par ex. ? Je n'ai rien trouvé dans win32.hlp.
> - Y a-t-il une fonction qui permette d'énumérer les processes en cours
> d'exécution ? Un genre de EnumProcess (que je n'ai pas trouvé)....
> - Les processes ont-ils un PID comme sous Unix/Linux ?
> - Si oui, comment l'obtenir ?

Tout dépend du système d'exploitation!

Sous Win9x et W2k :
-------------------
Utilisation des fonctions de la librairie KERNEL32.DLL :
CreateToolHelp32SnapShot
Process32First
Process32Next
Thread32First
Thread32Next

Ces fonctions s'inspirent de celles de l'antique TOOLHELP.DLL 16 bits :
ModuleFirst
ModuleNext
TaskFirst
TaskNext

Sous NT3.x, NT4 et W2k :
------------------------
Utilisation des fonctions de la librairie PSAPI.DLL
EnumProcesses
OpenProcess
EnumProcessModules
GetModuleFileNameEx

Cette DLL est fournie avec le SDK32 et est librement redistribuable.
P.ex. la fonction qui retourne les DLL en mémoire est
"EnumProcessModules"
(mais il faut énumérer les Process auparavant avec "EnumProcesses")

C'est la méthode que j'utilise dans "SCANBIN" (et qui marche très bien!)

L'énumération de process est effectué dans la NTDLL.DLL ("DLL Couche
NT", c'est la DLL de plus bas niveau, elle n'en appelle aucune autre),
avec des API du style "NtQueryInformationProcess" qui NE SONT
DOCUMENTEES NULLE PART !

PSAPI.DLL fait office de passerelle avec NTDLL.DLL

--
May the Force be with You! La Connaissance s'accroît quand on la
partage.
--------------------------------------------------------------------------
Jean-Claude BELLAMY mailto:Jean-Clau...@edf.fr
http://www.bellamyjc.net (Scanbin, BDR, Windows 2000,...)
EDF - Pôle Industrie - Division R&D - 1, av. du Général de Gaulle
92141 CLAMART CEDEX - FRANCE

Thierry

unread,
Jul 24, 2000, 3:00:00 AM7/24/00
to
Jean-Claude BELLAMY <Jean-Clau...@edf.fr> a écrit dans le message
: 397C020A...@edf.fr...

> C'est la méthode que j'utilise dans "SCANBIN" (et qui marche trčs
bien!)

Et un petit coup de pub en passant (-:

JCB hante meme mes vacances : le journal local d'oů je residais n'a pas
trouve mieux que de citer ton site sur une question d'un gentil lecteur
a propos des programmes 16 bits sous 2000.

Pourtant a 5000 km de la France...


0 new messages