重新啟動管理員是新增至 Visual Studio 的一項功能,適用於 Windows Vista 或更新版本的作業系統。 重新啟動管理員會在應用程式意外關閉或重新啟動時新增對應用程式的支援。 重新啟動管理員的行為取決於應用程式的類型。 如果您的應用程式是檔編輯器,重新啟動管理員可讓應用程式自動儲存任何開啟檔案的狀態和內容,並在非預期的關閉之後重新啟動您的應用程式。 如果您的應用程式不是檔編輯器,重新啟動管理員將會重新啟動應用程式,但預設無法儲存應用程式的狀態。
重新啟動之後,如果應用程式是 Unicode,應用程式會顯示工作對話方塊。 如果是 ANSI 應用程式,應用程式會顯示 Windows 訊息框。 此時,用戶選擇是否要還原自動儲存的檔。 如果使用者未還原自動儲存的檔,重新啟動管理員會捨棄暫存盤。
備註
您可以覆寫重新啟動管理員的預設行為,以儲存數據並重新啟動應用程式。
根據預設,在Visual Studio中使用專案精靈建立的MFC應用程式支援在具有Windows Vista或更新版本作系統的電腦上執行應用程式時重新啟動管理員。 如果您不想讓應用程式支援重新啟動管理員,您可以在新專案精靈中停用重新啟動管理員。
將重新啟動管理員的支援新增至現有的應用程式
在 Visual Studio 中開啟現有的 MFC 應用程式。
開啟主要應用程式的原始程序檔。 根據預設,這是與您應用程式名稱相同的.cpp檔案。 例如,MyProject 的主要應用程式原始程式檔是MyProject.cpp。
尋找主要應用程式的建構函式。 例如,如果您的專案是 MyProject,則建構函式為
CMyProjectApp::CMyProjectApp()。將下列程式代碼行新增至您的建構函式。
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
請確定
InitInstance應用程式的 方法會呼叫其父InitInstance方法: CWinApp::InitInstance 或CWinAppEx::InitInstance。 方法InitInstance負責檢查 m_dwRestartManagerSupportFlags 參數。編譯並執行您的應用程式。
另請參閱
CDataRecoveryHandler 類別
CWinApp::m_dwRestartManagerSupportFlags
CWinApp 類別
CWinApp::m_nAutosaveInterval
CDocument::OnDocumentEvent