【发布时间】:2012-03-31 21:35:52
【问题描述】:
我有一个从 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
---------------------------
【问题讨论】:
-
您是否在尝试发布模式?
标签: c++ winapi exception-handling