for c++ windows mfc batch-file cmd

c++ - for - nmake download



Cómo establecer Errorlevel al salir de la aplicación MFC (4)

Aquí hay un par de soluciones. No puedo comentar cuál es mejor, pero estoy seguro de que al menos una de ellas lo llevará hasta allí.

Tengo una aplicación heredada de MFC que ayudo a mantener. No estoy seguro de cómo identificar la versión de MFC y no creo que marque la diferencia de todos modos.

La aplicación puede tomar algunos parámetros en la línea de comando; Me gustaría poder establecer un nivel de error al salir de la aplicación para permitir que un archivo bat / cmd compruebe el error y responda de manera adecuada.

No creo que exit () funcione (aún no lo había intentado para ser sincero) por el hecho de que esta es una aplicación MFC. ¿Alguien sabe cómo configurar el errorlevel devuelto por una aplicación MFC? ¿Puedo usar exit ()?


No me puedo atribuir el mérito de esto así que por favor no contesten esta respuesta.

CWinApp :: ExitInstance (); devuelve myExitCode;

Esto devolverá el nivel de error al archivo de proceso por lotes para que luego lo evalúe y actúe.


Siempre he tenido éxito al devolver el código de error de CWinApp :: ExitInstance. La implementación predeterminada, creo, devolverá el valor del mensaje de abandono. Entonces puede usar AfxPostQuitMessage si es más fácil. Pero no he probado personalmente el segundo método.


Si su aplicación se niega a actualizar ERRORLEVEL en el intérprete de comandos de DOS desde donde ejecuta el código de su programa, puede ser útil ejecutar su aplicación con "inicio / espera" para que el shell esté bloqueado hasta que finalice su programa. .