ShellExecute et fermeture d'un programme [Résolu]

Signaler
Messages postés
18
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
10 octobre 2005
-
Messages postés
18
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
10 octobre 2005
-
Bonjour
Je voudrais savoir comment connaître la fermeture d'un programme lancé avec ShellExecute

Il y a toujours qqch à apprendre d'une personne

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Utilise CreateProcess() ou ShellExecuteEx().

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
ouai mais ca c pour lancé un prog, mais po de réponse pour la fermeture....
donc pour le lancement...

tu as
ShellExecute(NULL,"open",temp2,0,0,SW_SHOWNORMAL);

ou (conseiller)

STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );

// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line).
(LPSTR)temp2, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ) // Pointer to PROCESS_INFORMATION structure.
)
// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );

// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );

pour la fermeture dépend de plein de chose....

c peut etre un peu compliquer mais va voir une de mes source hide unhide(énumération des processus, tu pouras trouver ton bonheur fais correspondre le chemin de ton prog), ou BP Manager (ici c la maniere la plus simple pour quiter un process, mais c a partir du titre du prog)
youpi :)
Messages postés
18
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
10 octobre 2005

Je vous remercie de ces réponses, j'ai bien cherché ds les forums et sources et j'ai trouvé qqch, j'utilise la fonction WaitForSingleObject()
Mais je vais étudier vos solutions car elles m'ont l'air interessantes

Il y a toujours qqch à apprendre d'une personne