Comment quitter un programme en language C? [Résolu]

Fran6web 18 Messages postés mercredi 25 août 2004Date d'inscription 2 mars 2008 Dernière intervention - 7 janv. 2006 à 20:49 - Dernière réponse : Fran6web 18 Messages postés mercredi 25 août 2004Date d'inscription 2 mars 2008 Dernière intervention
- 8 janv. 2006 à 00:08
Bonjour, je commence dans le language C et j'aurais aimé avois un renseignement sur ce forum en espèrant que je trouve une réponse...

En faite je code en console. J'ai trouvé comment ouvrir une application en faisant "system("programme.exe");"
Mais j'aurais aimé savoir comment je pourrais faire pour fermer l'application que je viens d'ouvrir via mon programme en console...
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
wald39 68 Messages postés jeudi 5 janvier 2006Date d'inscription 23 février 2011 Dernière intervention - 7 janv. 2006 à 23:40
3
Merci
Voici comment fermer un programme, en l'occurence ici MSN, en c++ si sa peut t'aider :

//Recherche du processus:
char ExeName[256] = "msnmsgr.exe"; //ici MSN Messenger
HANDLE hSnapShot;
PROCESSENTRY32 uProcess;
bool r;
unsigned int PID = 0; //variable qui va stocker l'ID du processus de l'application que l'on désire fermer.

hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
uProcess.dwSize = (DWORD) sizeof(PROCESSENTRY32);

r = Process32First(hSnapShot, &uProcess);
do // Cette boucle énnumère tout les processus
{
//on cherche le nom de notre application dans le chemin d'accès de l'éxécutable du processus.
if ( !strcmp(uProcess.szExeFile, ExeName) )
PID = (unsigned int) uProcess.th32ProcessID;

r = Process32Next(hSnapShot, &uProcess);
} while ( r );

CloseHandle(hSnapShot);

//Fermeture du processus:
HANDLE hTemp = OpenProcess(PROCESS_ALL_ACCESS, false, (DWORD) PID);
TerminateProcess(hTemp,0);

Merci wald39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de wald39
Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 7 janv. 2006 à 23:44
3
Merci
S'il code pour Windows, il n'a pas besoin de tout cela, il lance le processus par CreateProcess() qui lui donnera automatiquement le hprocess.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 7 janv. 2006 à 23:47
3
Merci
Avec ShellExecuteEx() aussi d'ailleurs.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de BruNews
Fran6web 18 Messages postés mercredi 25 août 2004Date d'inscription 2 mars 2008 Dernière intervention - 8 janv. 2006 à 00:08
0
Merci
Merci beaucoup à vous ;)

Youpi yadi
Commenter la réponse de Fran6web

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.