1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| // Fonction permettant de connaitre l'id d'un processus
DWORD __fastcall GetProcessId(char *nomProgramme)
{
HANDLE handle;
DWORD pId;
PROCESSENTRY32 pe;
bool fin;
fin = false;
pId = 0;
pe.dwSize = sizeof(PROCESSENTRY32);
handle = CreateToolhelp32Snapshot(TH32CS_SNAPALL , 0); //recupere un capture de process
if ( Process32First(handle, &pe) == true)// recherche premier process de la liste
{ // on a le premier process de la liste => il faut vérifier si c'est celui-là
if (UpperCase(ExtractFileName(pe.szExeFile)) == UpperCase(nomProgramme))
{ // le process correspond à celui qu'on cherche
pId = pe.th32ProcessID; // recupere l'id du process
}
else
{
while ((Process32Next(handle, &pe) == true) && (fin == false))
{ //dans le cas contraire du test on continue à chercher le process en question
if (UpperCase(ExtractFileName(pe.szExeFile)) == UpperCase(nomProgramme))
{
pId = pe.th32ProcessID;
fin = true; // On a trouvé, on peut arrêter la recherche
}
}
}
}
CloseHandle(handle);
return(pId);
} |
Partager