Bonjour tout le monde,
J'aimerais récupérer l'id du process parent qui a exécuté mon application .
Auriez vous une idée ??
Merci d'avance de votre aide
HooK
Bonjour tout le monde,
J'aimerais récupérer l'id du process parent qui a exécuté mon application .
Auriez vous une idée ??
Merci d'avance de votre aide
HooK
Bonjour,
de la solution la plus simple à la plus complexe :
1) utiliser WMI et les "performance counters" sur un objet Process. Le compteur adéquat s'appelle "Creating Process ID".
2) Avec l'API windows, traverser la liste des processus :
- Utiliser CreateToolhelp32Snapshot()
- Utiliser Process32First() et Process32Next()
- Les deux fonctions ci-dessus utilisent la strcture PROCESSENTRY32.
- Cette dernière à deux champs utiles pour ta recherche :
A) th32ProcessID : le PID du processus actuel.
B) th32ParentProcessID : Le PID du processus parent
Il suffit donc de boucler sur la liste des processus, chercher le tien et regarder son processus parent.
3) Utiliser un driver et traverser la liste des processus en suivant la liste chaînée des structures EPROCESS. Le membre "InheritedFromUniqueProcessId" de cette structure contient le PID du parent.
P.S : il est possible que le processus parent soit "mort" dans l'intervalle de temps. Rien ne garantit que le PID soit toujours valable.
J'ajoute: Pire, l'ID du processus parent peut avoir été réutilisée par un autre.
Ce n'est pas comme sous les OS unixoïdes, où un processus ne peux pas disparaitre tant que tous ses fils ne sont pas morts.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
... j'ai trouvé mon bonheur avec "InheritedFromUniqueProcessId"
Hook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager