SendMessage, DestroyWindow et processus

Résolu
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Bonjour,
Excusez cette question de débutant qui me pose soucis.

A partir du handle d'une fenetre parent je souhaiterais fermer celle-ci.
Si je passe le message WM_CLOSE à un SendMessage est-ce que cela va faire appel à DestroyWindow et par la suite va fermer le processus auquel appartient ma fenetre ?

Merci d'avance.

3 réponses

Messages postés
24
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
2 septembre 2007

WM_Quit serait plus approprié ceci dit WM_close aura le même effet:
DestroyWindows sera invoqué
Reste l'interrogation sur l'application, celle ci ne se termine pas obligatoirement avec la fermeture de sa fenêtre principale, c'est le cas pour la majorité de mes applications. Exemple une application basée service va généralement lorsque c'est utile ouvrir une fenêtre lorsqu'un utilisateur ouvre une session, elle la refermera au logoff sans pour autant s'arrêter.
WM_QUIT marque une action explicite de l'utilisateur associée aux menus par défaut 'fermer', le message est donc plus logique qu'un WM_CLOSE. D'expérience je sais que WM_QUIT donne le résultat attendu dans pratiquement tout les cas lorsque l'on pilote des process à travers leurs 'fenêtres'
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Bonjour,
Par défaut, l'envoi du message WM_CLOSE à une fenêtre provoque sa destruction mais l'application ne se ferme pas. Pour permettre la fermeture de l'application à la destruction de la fenêtre il faut traiter le message WM_DESTROY:

case WM_DESTROY:
    PostQuitMessage(0);
    break;
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Merci bien