Numéro d'article: 117320 - Dernière mise à jour: mardi 21 novembre 2006 - Version: 3.1

Comment faire pour mettre fin à une application MFC par programmation

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.
Agrandir tout | Réduire tout

Résumé

Sous certaines conditions, vous souhaiterez peut-être mettre fin à une application MFC par programmation. MFC ne fournit pas une fonction publique pour normalement quitter une application.

Plus d'informations

Une méthode permettant de gérer cela consiste à créer une fonction dans votre application comme suit :
   void ExitApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetApp()->m_pMainWnd != NULL);
        AfxGetApp()->m_pMainWnd->SendMessage(WM_CLOSE);
   }
				
comme vous pouvez le voir, cela est implémenté sous la forme d'une fonction globale, qui peut être appelée à partir de n'importe où dans votre application. Il envoie simplement un message WM_CLOSE à la fenêtre de grands systèmes de votre application. Cela déclenche un arrêt ordonné de l'application.

Si vous utilisez MFC, version 2.5 ou ultérieure, vous pouvez tirer parti d'une fonction MFC globale nouvelle "AfxGetMainWnd», pour simplifier le code :
   void ExitMFCApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetMainWnd() != NULL);
        AfxGetMainWnd()->SendMessage(WM_CLOSE);
   }
				
Remarque : toujours appeler CDocument::SetModifiedFlag() après avoir modifié des données de votre document. Cela permet de garantir que l'infrastructure invite l'utilisateur à enregistrer avant l'arrêt. Si vous avez besoin d'un contrôle plus étendu sur la procédure d'arrêt, vous pouvez substituer CDocument::SaveModified().

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Foundation Class Library 4.2 sur le système suivant
    • Microsoft Visual C++ 1.0 Édition Professionnelle
    • Microsoft Visual C++ 1.5 Édition Professionnelle
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Édition Professionnelle
    • Microsoft Visual C++ 1.0 Édition Professionnelle
    • Microsoft Visual C++ 2.0 Édition Professionnelle
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Édition Standard
Mots-clés : 
kbmt KB117320 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 117320  (http://support.microsoft.com/kb/117320/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Retired KB ArticleExclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.