Fermer fenetre

Résolu
kirby94460 Messages postés 19 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 12 mai 2011 - 12 nov. 2006 à 23:33
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 13 nov. 2006 à 00:27
voila j'ai ouvert un .exe avec WinExec("nomduexe.exe",SW_SHOW);

j'aimerais savoir comment le fermer desormais .

PS; je travaille en console

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 nov. 2006 à 00:27
WinExec est une antiquité du temps du 16 bits juste conservée pour permettre de lancer les vieux progs, à oublier définitivement.

Lance par CreateProcess(), copie le processID retourné dans la struct PROCESS_INFORMATION, ferme les 2 handle de la struct PROCESS_INFORMATION avec CloseHandle. Lance un EnumWindows() et dans l'enum tu compares chaque PID retourné par GetWindowThreadProcessId avec celui enregistré plus haut, si correspond tu envoies PostMessage(hwnd, WM_CLOSE, 0, 0); et le tour est joué.

ciao...
BruNews, MVP VC++
3
Rejoignez-nous