C++ - Vérifier la présence d'une application

ianick Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
ianick Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite dans un programme C++ tester la présence d'une application ou d'un processus.
Je suis donc désespermment à la recherche de ou des fonctions windows permettant d'effectuer un script dans ce genre :

if (Telle application ou processus tourne en machine) {
// Suite d'instructions
}
else { // Le process n'existe pas
// Suite d'instructions
}

Merci d'avance à tous pour votre aide précieuse.
YannicK

2 réponses

ianick Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci pour ton aide,

J'ai un peu galéré mais j'ai fini par obtenir ce que je souhaitais en faisant quelques petits tests du style :

HANDLE H_Liste_Process; //Handle de la liste de processus
PROCESSENTRY32 The_Process;
int Int_Process;
int Num_Process = 0;

H_Liste_Process = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //Liste des processus

Int_Process = Process32First(H_Liste_Process, &The_Process); //Premier processus

do
{
Num_Process++;
if(strstr(The_Process.szExeFile, "iexplore.exe"))
{
MessageBox(NULL, The_Process.szExeFile,"Processus iexplore.exe trouvé !", MB_OK|MB_ICONEXCLAMATION);
}
else if(strstr(The_Process.szExeFile, "msmsgs.exe")) //On recherche le nom de notre processus dans la liste
{
MessageBox(NULL, The_Process.szExeFile,"Processus msmsgs.exe trouvé !", MB_OK|MB_ICONEXCLAMATION);
}
else //On recherche le nom de notre processus dans la liste
{
MessageBox(NULL, The_Process.szExeFile,"Un process de plus...", MB_OK|MB_ICONEXCLAMATION);
}

Int_Process = Process32Next(H_Liste_Process, &The_Process); //Processus suivant
} while(Int_Process);
2
juanpablo Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   10
 
bonjour

il y a la fonction CreateToolhelp32Snapshot() ça te permet de creeer une liste des process ensuite tu la parcours avec Process32First(), et Process32Next() et tu tries sur le nom contenu dans la struture
il faut bien sur avoir le header et la lib de toolhelp32
0