Trouver le pid d'un processus depuis son nom (C++) [Résolu]

tekila_bandita 255 Messages postés mercredi 15 juin 2005Date d'inscription 15 mars 2007 Dernière intervention - 15 mars 2007 à 13:13 - Dernière réponse : cs_magma 198 Messages postés vendredi 4 avril 2003Date d'inscription 18 mars 2011 Dernière intervention
- 15 mars 2007 à 19:05
Bonjour !

Donc voila, cela fait un moment que je cherche mais je n'y arrive pas...
Quelqu'un aurait-il une fonction pour trouver le pid d'un processus à partir de son nom sous win32...?

Merci beaucoup!

Il était une fois, tralalala.. .
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_magma 198 Messages postés vendredi 4 avril 2003Date d'inscription 18 mars 2011 Dernière intervention - 15 mars 2007 à 19:05
3
Merci
#include <windows.h>
#include <tlhelp32.h>  //th32.lib ou libth32.a
#include <stdio.h>



//---------------------------------------------------
DWORD GetPidByName(char *szProcName)
{
  DWORD dwPID = 0; 
  PROCESSENTRY32 pe = {sizeof(PROCESSENTRY32)};
  HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);



  if(hSnap != INVALID_HANDLE_VALUE)
  {
    if(Process32First(hSnap, &pe))
    {
      do
      {
        if(strcmpi(pe.szExeFile, szProcName) == 0)
        {
          dwPID = pe.th32ProcessID;
          break;
        }   
      }
      while(Process32Next(hSnap, &pe));
    }
    CloseHandle(hSnap);
  }
  return dwPID;
}



//---------------------------------------------------
int main(void)
{
  printf("PID = %ld\n", GetPidByName("explorer.exe"));
  return 0;
}

Merci cs_magma 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_magma
racpp 1910 Messages postés vendredi 18 juin 2004Date d'inscription 14 novembre 2014 Dernière intervention - 15 mars 2007 à 17:29
0
Merci
Salut,
Tu peux énumérer tous les processus en utilisant les fonctions suivates:
CreateToolhelp32Snapshot()
Process32First()
Process32Next() <- Dans une boucle.
Le membre szExeFile de la structure  PROCESSENTRY32 contiendra le nom de l'exécutable. Si le nom correspond à celui recherché alors on récupère le PID dans le membre th32ProcessID.
Commenter la réponse de racpp

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.