Como adicionar suporte ao gerenciador de reinicialização
O gerenciador de reinicialização é um recurso adicionado a Visual Studio para Windows Vista. O gerenciador de reinicialização adiciona suporte para seu aplicativo se fechar inesperadamente ou reiniciado. O comportamento do gerenciador de reinicialização depende do tipo de seu aplicativo. Se seu aplicativo for um publicador do documento, o gerenciador de reinicialização habilitou o aplicativo salvar o estado automaticamente e o conteúdo de todos os documentos abertos e reinicie o aplicativo depois de um bloqueio inesperado. Se seu aplicativo não é um publicador do documento, o gerenciador de reinicialização reiniciará o aplicativo, mas não é possível salvar o estado do aplicativo por padrão.
Após a reinicialização, o aplicativo exibe uma caixa de diálogo tarefa se o aplicativo for Unicode. Se for um aplicativo ANSI, o aplicativo exibe uma caixa de mensagem do windows. Neste momento, o usuário pode escolher restaurar os documentos automaticamente salvos. Se o usuário não restaura os documentos automaticamente salvos, o gerenciador de reinicialização descarta os arquivos temporários.
Dica
Você pode substituir o comportamento padrão do gerenciador de reinicialização para salvar dados e reinicie o aplicativo.
Por padrão, os aplicativos MFC criados usando o assistente de projeto em Visual Studio dão suporte ao gerenciador de reinicialização quando os aplicativos são executados em um computador que tenha Windows Vista. Se você não quiser que o seu aplicativo oferecer suporte ao gerenciador de reinicialização, você pode desabilitar o gerenciador de reinicialização no assistente de projeto.
Para adicionar suporte para o gerenciador de reinicialização a um aplicativo existente
Abrir um aplicativo existente MFC em Visual Studio.
Abra o arquivo de origem para seu aplicativo principal. Por padrão este é o arquivo .cpp que tem o mesmo nome do 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 é MyProject, o construtor é CMyProjectApp::CMyProjectApp().
Adicione a seguinte linha de código ao construtor.
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
Verifique se o método de [InitInstance] de seus o aplicativo chama seu método pai de InitInstance : CWinApp::InitInstance ou CWinAppEx::InitInstance. O método de InitInstance é responsável para verificar o parâmetro de m_dwRestartManagerSupportFlags .
Compile e execute o aplicativo.