2008-08-18 9 views

Respuesta

10

Terminar Programatically una aplicación MFC

void ExitMFCApp() 
    { 
     // same as double-clicking on main window close box 
     ASSERT(AfxGetMainWnd() != NULL); 
     AfxGetMainWnd()->SendMessage(WM_CLOSE); 
    } 

http://support.microsoft.com/kb/117320

+0

cualquier código # equivalente C? –

12
AfxGetMainWnd()->PostMessage(WM_CLOSE); 
4

En apoyo de la respuesta de @ Mike, la razón para utilizar este método es activar la secuencia de apagado correcta. Especialmente importante para las aplicaciones MDI/SDI porque ofrece la posibilidad de que los documentos soliciten guardar antes de salir o cancelar la salida.

@ Matt Noguchi, el método será evitar esta secuencia (que puede ser el efecto deseado, supongo, pero es probable que tengo problemas si está cortocircuitando el desmontaje normales.

4
PostQuitMessage([exit code]); 
1

Si se trata de una aplicación basada en diálogo puede hacerlo llamando a la función EndDialog().

Si se trata de una aplicación basada SDI/MDI puede llamar DestroyWindow. Pero antes de que se tendrá que hacer la limpieza usted mismo (documentos de cierre, desasignación de memoria y recursos, destruyendo ventanas adicionales creadas, etc.)

Cuestiones relacionadas