使用Windows MFC C++。我有一個第三方應用程序,它在我的CWinApp派生類中調用用戶定義的方法。這個方法在InitInstance()之後被調用。如果在這個方法中有一個錯誤,例如拋出一個異常並被try/catch塊捕獲,我想從catch塊中退出應用程序。什麼是規範和正確的戒菸方式?以編程方式退出MFC應用程序的正確方法是什麼?
UPDATE:
嗶嘰我認爲是正確的,在InitInstance中()返回false是退出應用程序的正確方法。但是,現在假設我想退出CDialog派生類的OnInitDialog()處理程序,那麼正確的方法是什麼。
更新2
對於我來說,我發現調用PostMessage的(WM_CLOSE)是從我的非模態CDialog派生類的最佳途徑。在某些情況下,我嘗試過的所有其他戒菸方法都會引發一些異常或其他情況。
這裏是我如何使用它的一個例子:
BOOL SomeDialog::OnInitDialog()
{
CDialog::OnInitDialog();
::OleInitialize(nullptr);
try
{
// ...load settings file here
}
catch(...)
{
PostMessage(WM_CLOSE);
return TRUE;
}
// return TRUE unless you set the focus to a control
return TRUE;
}
啊!這是一個基於對話框的應用程序。看到我編輯的答案。 –