Como adicionar suporte ao gerenciador de reinicialização
O gerenciador de reinicialização é um recurso adicionado ao Visual Studio para Windows Vista ou sistemas operacionais posteriores. O gerenciador de reinicialização adiciona suporte para seu aplicativo se ele se fecha ou reinicia inesperadamente. O comportamento do gerenciador de reinicialização depende do tipo do aplicativo. Se o aplicativo é um editor de documentos, o gerenciador de reinicialização habilitou seu aplicativo para salvar automaticamente o estado e o conteúdo de todos os documentos abertos e reinicia seu aplicativo após um fechamento inesperado. Se o aplicativo não é um editor de documentos, o gerenciador de reinicialização reinicia o aplicativo, mas não salvar o estado do aplicativo por padrão.
Após a reinicialização, o aplicativo exibirá uma caixa de diálogo de tarefa se o aplicativo for Unicode. Se for um aplicativo ANSI, o aplicativo exibirá uma caixa de mensagem do Windows. Neste ponto, o usuário escolhe se deseja restaurar os documentos salvos automaticamente. Se o usuário não restaurar os documentos salvos automaticamente, o gerenciador de reinicialização descartará os arquivos temporários.
Observação
Você pode substituir o comportamento padrão do gerenciador de reinicialização para salvar dados e reiniciar o aplicativo.
Por padrão, os aplicativos MFC criados usando o assistente de projeto no Visual Studio dão suporte ao gerenciador de reinicialização quando os aplicativos são executados em um computador que tem um sistema operacional Windows Vista ou posterior. Se você não quiser que seu aplicativo dê suporte ao gerenciador de reinicialização, poderá desabilitar o gerenciador de reinicialização no novo assistente de projeto.
Para adicionar suporte para o Gerenciador de Reinicialização a um aplicativo
Abra um aplicativo MFC no Visual Studio.
Abra o arquivo de origem para seu aplicativo principal. Por padrão, esse é o arquivo .cpp que tem o mesmo nome que seu aplicativo. Por exemplo, o arquivo de origem do aplicativo principal para MyProject é MyProject.cpp.
Localize o construtor para seu aplicativo principal. Por exemplo, se o projeto for MyProject, o construtor será
CMyProjectApp::CMyProjectApp()
.Adicione a linha de código a seguir ao construtor.
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
Verifique se o método
InitInstance
do aplicativo chama seu método paiInitInstance
: CWinApp::InitInstance ouCWinAppEx::InitInstance
. O métodoInitInstance
é responsável por verificar o parâmetro m_dwRestartManagerSupportFlags.Compilar e executar seu aplicativo.
Confira também
Classe CDataRecoveryHandler
CWinApp::m_dwRestartManagerSupportFlags
Classe CWinApp
CWinApp::m_nAutosaveInterval
CDocument::OnDocumentEvent