IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

PostQuitMessage ne fait rien


Sujet :

Windows

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut PostQuitMessage ne fait rien
    Bonjour,

    en changeant un peu la structure de mon basecode, voila que mes applications ne veulent plus se fermer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     case WM_DESTROY:
     case WM_CLOSE:	
     case WM_QUIT:
    		{
    			//MSG("quit");
    			PostQuitMessage(0);
    			return 0;							
    		}
    quel sont les raisons qui peuvent faire que PostQuitMessage ne provoque pas la fermeture de l application ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 671
    Points
    10 671
    Billets dans le blog
    3
    Par défaut
    PostQuitMessage ne fait pas quitter directement ton appli. Il envoie le message WM_QUIT (Post QUIT Message).
    Tout se passe dans ta boucle des messages. C'est là que ton programme est vivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int main()
    {
        while ( GetMessage(...) )
        {
        }
    }
    c'est en sortant de de while que tu vas quitter main() et que ton programme va s'arrêter. Pour que le test while échoue, il faut que GetMessage renvoie 0. Et qu'est-ce qui fait renvoyer 0 à GetMessage ? La réception de WM_QUIT... Donc en somme, PostQuitMessage provoque l'arrêt indirect de la boucle while.
    Je te laisse vérifier ton code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SystemParametersInfo : ne fait rien
    Par Sphaxou dans le forum C++
    Réponses: 8
    Dernier message: 25/08/2006, 22h38
  2. [PHP-JS] Méthode flush() qui ne fait rien
    Par Khrysby dans le forum Langage
    Réponses: 9
    Dernier message: 21/05/2006, 19h55
  3. [debutant]programme qui ne fait rien.
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 04/12/2005, 22h19
  4. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 20h25
  5. [Process] pb exec sous unix, ne plante pas mais ne fait rien
    Par NiBicUs dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 10/12/2004, 05h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo