重启管理器是添加到 Visual Studio for 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