如何:添加重新启动管理器支持

重新启动管理器是 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;
    
  5. 确保应用程序的 [InitInstance] 方法调用其父级 InitInstance 方法:CWinApp::InitInstanceCWinAppEx::InitInstanceInitInstance 方法负责检查 m_dwRestartManagerSupportFlags 参数。

  6. 编译并运行应用程序。

请参见

参考

CDataRecoveryHandler 类

CWinApp::m_dwRestartManagerSupportFlags

CWinApp 类

CWinApp::m_nAutosaveInterval

CDocument::OnDocumentEvent