如何:新增重新啟動管理員支援

重新開機管理員是新增至 Visual Studio for Windows Vista 或更新版本的作業系統的功能。 重新啟動管理員會在應用程式意外關閉或重新啟動時加入支援。 重新啟動管理員的行為,取決於應用程式的類型。 如果應用程式是文件編輯器,重新啟動管理員可讓應用程式自動儲存任何已開啟文件的狀態和內容,而且在意外關閉之後重新啟動應用程式。 如果應用程式不是文件編輯器,則重新啟動管理員預設會重新啟動應用程式,但不會儲存應用程式的狀態。

如果應用程式是 Unicode,則應用程式會在重新啟動之後顯示工作對話方塊。 如果是 ANSI 應用程式,則應用程式會顯示 Windows 訊息方塊。 此時,使用者可以選擇是否要還原自動儲存的文件。 如果使用者不要還原自動儲存的文件,則重新啟動管理員會捨棄暫存檔案。

注意

您可以覆寫重新啟動管理員的預設行為,以便儲存資料和重新啟動應用程式。

根據預設,在 Visual Studio 中使用專案精靈建立的 MFC 應用程式支援在具有 Windows Vista 或更新版本作業系統的電腦上執行應用程式時重新開機管理員。 如果您不想讓應用程式支援重新啟動管理員,可以在新的專案精靈中停用重新啟動管理員。

將重新啟動管理員的支援加入現有的應用程式

  1. 在 Visual Studio 中開啟現有的 MFC 應用程式。

  2. 開啟主應用程式的原始程式檔。 根據預設,這是與應用程式同名的 .cpp 檔。 例如,MyProject 的主應用程式原始程式檔為 MyProject.cpp。

  3. 尋找主應用程式的建構函式。 例如,專案若為 MyProject,建構函式則為 CMyProjectApp::CMyProjectApp()

  4. 將下面這行程式碼加入建構函式。

    m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
  1. 確保應用程式的 InitInstance 方法會呼叫其父 InitInstance 方法: CWinApp::InitInstanceCWinAppEx::InitInstance的功能。 方法 InitInstance 負責檢查 m_dwRestartManagerSupportFlags 參數。

  2. 編譯並執行您的應用程式。

另請參閱

CDataRecoveryHandler 類別
CWinApp::m_dwRestartManagerSupportFlags
CWinApp 類別
CWinApp::m_nAutosaveInterval
CDocument::OnDocumentEvent