Partilhar via


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

  1. Abra um aplicativo MFC no Visual Studio.

  2. 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.

  3. Localize o construtor para seu aplicativo principal. Por exemplo, se o projeto for MyProject, o construtor será CMyProjectApp::CMyProjectApp().

  4. Adicione a linha de código a seguir ao construtor.

    m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
  1. Verifique se o método InitInstance do aplicativo chama seu método pai InitInstance: CWinApp::InitInstance ou CWinAppEx::InitInstance. O método InitInstance é responsável por verificar o parâmetro m_dwRestartManagerSupportFlags.

  2. Compilar e executar seu aplicativo.

Confira também

Classe CDataRecoveryHandler
CWinApp::m_dwRestartManagerSupportFlags
Classe CWinApp
CWinApp::m_nAutosaveInterval
CDocument::OnDocumentEvent