Tengo un proceso que empiezo con CreateProcess, luego espero a que termine y verifique su código de salida. Lo hago en modo por lotes y no quiero que aparezcan cuadros de mensaje si el proceso falla. Es suficiente con devolver un código de salida distinto de cero que indicaría un error. Hasta ahora he intentado usar¿Cómo puedo suprimir todos los cuadros de diálogo de error cuando un proceso falla (solo quiero que se cuelgue silenciosamente)
LONG WINAPI MyUnhandledExceptionFilter(_EXCEPTION_POINTERS *lpTopLevelExceptionFilter)
{
ExitProcess(-1);
return EXCEPTION_EXECUTE_HANDLER;
}
BOOL CMyApp::InitInstance()
{
AfxEnableControlContainer();
SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);
throw std::runtime_error("test");
}
Pero esto no siempre es silencioso. A veces se muestra un cuadro de diálogo:
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!
Program: C:\Workspace\MyApp\Release\MyApp.exe
abnormal program termination
---------------------------
OK
---------------------------
¿Está intentando en el modo de lanzamiento? – Konrad
posible duplicado de [Impedir el diálogo modal en el bloqueo del proceso win32] (http://stackoverflow.com/questions/1861506/prevent-modal-dialog-on-win32-process-crash) –