У меня есть процесс, который я запускаю с CreateProcess, затем жду его завершения и проверяю его код выхода.Я делаю это в пакетном режиме и не хочу, чтобы при сбое процесса отображались какие-либо окна сообщений.Достаточно просто вернуть ненулевой код выхода, который будет указывать на ошибку.До сих пор я пытался использовать
LONG WINAPI MyUnhandledExceptionFilter(_EXCEPTION_POINTERS *lpTopLevelExceptionFilter)
{
ExitProcess(-1);
return EXCEPTION_EXECUTE_HANDLER;
}
BOOL CMyApp::InitInstance()
{
AfxEnableControlContainer();
SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);
throw std::runtime_error("test");
}
Но это не всегда молчит.Иногда отображается диалоговое окно:
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!
Program: C:\Workspace\MyApp\Release\MyApp.exe
abnormal program termination
---------------------------
OK
---------------------------