Udostępnij za pośrednictwem


Porady: dodawanie obsługi menedżera ponownego uruchamiania

Menedżer ponownego uruchamiania to funkcja dodana do programu Visual Studio dla systemu operacyjnego Windows Vista lub nowszego. Menedżer ponownego uruchamiania dodaje obsługę aplikacji, jeśli nieoczekiwanie zostanie zamknięta lub ponownie uruchomiona. Zachowanie menedżera ponownego uruchamiania zależy od typu aplikacji. Jeśli aplikacja jest edytorem dokumentów, menedżer ponownego uruchamiania włączył aplikację, aby automatycznie zapisywać stan i zawartość wszystkich otwartych dokumentów i ponownie uruchamia aplikację po nieoczekiwanym zamknięciu. Jeśli aplikacja nie jest edytorem dokumentów, menedżer ponownego uruchamiania uruchomi ponownie aplikację, ale nie może zapisać stanu aplikacji domyślnie.

Po ponownym uruchomieniu aplikacja wyświetla okno dialogowe zadania, jeśli aplikacja to Unicode. Jeśli jest to aplikacja ANSI, aplikacja wyświetla pole Komunikat systemu Windows. Na tym etapie użytkownik wybiera, czy przywrócić automatycznie zapisane dokumenty. Jeśli użytkownik nie przywróci automatycznie zapisanych dokumentów, menedżer ponownego uruchamiania odrzuci pliki tymczasowe.

Uwaga

Możesz zastąpić domyślne zachowanie menedżera ponownego uruchamiania na potrzeby zapisywania danych i ponownego uruchamiania aplikacji.

Domyślnie aplikacje MFC utworzone przy użyciu kreatora projektu w programie Visual Studio obsługują menedżera ponownego uruchamiania, gdy aplikacje są uruchamiane na komputerze z systemem Operacyjnym Windows Vista lub nowszym. Jeśli nie chcesz, aby aplikacja obsługiwała menedżera ponownego uruchamiania, możesz wyłączyć menedżera ponownego uruchamiania w kreatorze nowego projektu.

Aby dodać obsługę menedżera ponownego uruchamiania do istniejącej aplikacji

  1. Otwórz istniejącą aplikację MFC w programie Visual Studio.

  2. Otwórz plik źródłowy dla głównej aplikacji. Domyślnie jest to plik cpp, który ma taką samą nazwę jak aplikacja. Na przykład głównym plikiem źródłowym aplikacji myProject jest MyProject.cpp.

  3. Znajdź konstruktor dla głównej aplikacji. Jeśli na przykład projekt to MyProject, konstruktor to CMyProjectApp::CMyProjectApp().

  4. Dodaj następujący wiersz kodu do konstruktora.

    m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
  1. Upewnij się, że InitInstance metoda aplikacji wywołuje metodę nadrzędną InitInstance : CWinApp::InitInstance lub CWinAppEx::InitInstance. Metoda InitInstance jest odpowiedzialna za sprawdzenie parametru m_dwRestartManagerSupportFlags .

  2. Skompiluj i uruchom aplikację.

Zobacz też

Klasa CDataRecoveryHandler
CWinApp::m_dwRestartManagerSupportFlags
Klasa CWinApp
CWinApp::m_nAutosaveInterval
CDocument::OnDocumentEvent