Est qu'il y a moyen en C++, ou en ressource Kit de lister tous les process en cours d'exécution avec leur arguments.
Exple: si on lance perl.Exe "sample.pl".
Je dois récupérer le nom du process (perl.exe) et l'argument (sample.pl)
Merci d'avance.
Est qu'il y a moyen en C++, ou en ressource Kit de lister tous les process en cours d'exécution avec leur arguments.
Exple: si on lance perl.Exe "sample.pl".
Je dois récupérer le nom du process (perl.exe) et l'argument (sample.pl)
Merci d'avance.
Il n'y a pas de moyen direct. La ligne de commande est dans l'espace d'adressage de chaque process, donc inaccessible depuis les autres. Faut faire de l'IPC et de la bidouille pour y arriver (et c'est sujet aux droits d'accès).
La solution que je vois est, comme dirait Aurélien, un peu bidouille.
Il s'agirait de hooker l'api CreateProcess et d'analyser la ligne de commande pour chaque exe lancé. Par contre, ca ne pourrait se faire qu'uniquement lors de la création du processus.
Je pensais plutot à un truc genre CreateRemoteThread qui récupère la cme et l'envoie par IPC.
Terrible! Y'en a qui ont de la chance. 2° lien sur CreateRemoteThread sous google:
http://win32.mvps.org/processes/remthread.html
Partager