Bon voilà je crois que j'ai trouvé une réponse,mais c'est valable que sous windows: Je recupere tout les exe qui sont en cours sur ma machine, et je compare chaque exe avec le nom de celui que je veux controler, et si je ne le retrouve plus ,je le relance comme n'importe quel autre .exe, voici le code:
bool
process_exists(string monProcess){
DWORD processes[200], nb_processes;
char process_name[100];int i;HANDLE hprocess;
EnumProcesses(processes,
sizeof(processes),&nb_processes);//On teste tous les processus pour voir si leur nom correspondfor(i=0;i < nb_processes/sizeof (DWORD);i++){
hprocess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processes[i]);
//Prend le nom du processus et le met dans process_nameGetModuleBaseName(hprocess, GetModuleHandle(NULL), process_name,
sizeof(process_name) );cout << "--process :" << process_name << " id :" << processes[i] << endl;
CloseHandle(hprocess);
//Ce processus est il le même que celui demandéif (((string)process_name).compare(monProcess) == 0){
returntrue;}
}
returnfalse;}
Bonne journée.