Artigo: 117320 - Última revisão: terça-feira, 21 de Novembro de 2006 - Revisão: 3.1

Como Programatically terminar uma aplicação MFC

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sumário

Em determinadas circunstâncias, poderá pretender terminar uma aplicação MFC programatically. MFC não fornece uma função pública a sair correctamente uma aplicação.

Mais Informação

Um método para lidar com isto consiste em criar uma função na sua aplicação como o seguinte:
   void ExitApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetApp()->m_pMainWnd != NULL);
        AfxGetApp()->m_pMainWnd->SendMessage(WM_CLOSE);
   }
				
como pode ver, este é implementado como uma função global, que pode ser chamada a partir de qualquer ponto na aplicação. -Envia simplesmente uma mensagem WM_CLOSE para mainframe janela a aplicação. Isto inicia um encerramento ordenado da aplicação.

Se estiver a utilizar MFC, versão 2.5 ou posterior, pode tirar partido de uma nova global MFC função, "AfxGetMainWnd", para simplificar o código:
   void ExitMFCApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetMainWnd() != NULL);
        AfxGetMainWnd()->SendMessage(WM_CLOSE);
   }
				
Nota : sempre chamar CDocument::SetModifiedFlag() depois de alterar os dados do documento. Isto irá assegurar que a estrutura pede ao utilizador para guardar antes de encerrar. Se necessitar de mais abrangente controlar o processo de encerramento, pode substituir CDocument::SaveModified().

A informação contida neste artigo aplica-se a:
  • Microsoft Foundation Class Library 4.2 nas seguintes plataformas
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Standard Edition
Palavras-chave: 
kbmt KB117320 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 117320  (http://support.microsoft.com/kb/117320/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.