方法: 再起動マネージャーのサポートを追加する

再起動マネージャーは、Windows Vista 以降のオペレーティング システムの Visual Studio に追加された機能です。 再起動マネージャーにより、アプリケーションが予期せずに終了または再起動した場合のアプリケーションのサポートが強化されます。 再起動マネージャーの動作は、アプリケーションの種類によって異なります。 アプリケーションがドキュメント エディターの場合、再起動マネージャーは、アプリケーションが予期せずに終了したら、開いているドキュメントの状態と内容をアプリケーションが自動的に保存できるようにし、アプリケーションを再起動します。 アプリケーションがドキュメント エディターではない場合、再起動マネージャーは、アプリケーションを再起動しますが、既定ではアプリケーションの状態を保存できません。

Unicode アプリケーションは、再起動後、タスク ダイアログ ボックスを表示します。 ANSI アプリケーションは、Windows メッセージ ボックスを表示します。 この時点で、ユーザーは自動的に保存されたドキュメントを復元するかどうかを選択します。 自動的に保存されたドキュメントをユーザーが復元しない場合は、再起動マネージャーによって一時ファイルが破棄されます。

Note

データの保存とアプリケーションの再起動を行う再起動マネージャーの既定の動作はオーバーライドできます。

既定では、Visual Studio のプロジェクト ウィザードを使用して作成された MFC アプリケーションは、Windows Vista以降のオペレーティング システムを搭載したコンピューターで実行されていれば、再起動マネージャーをサポートします。 アプリケーションが再起動マネージャーをサポートしないようにする場合は、新しいプロジェクト ウィザードで再起動マネージャーを無効にすることができます。

既存のアプリケーションが再起動マネージャーをサポートするように設定するには

  1. Visual Studio で既存の MFC アプリケーションを開きます。

  2. メイン アプリケーションのソース ファイルを開きます。 既定では、これはアプリケーションと同じ名前の .cpp ファイルです。 たとえば、MyProject のメイン アプリケーションのソース ファイルは、MyProject.cpp です。

  3. メイン アプリケーションのコンストラクターを探します。 たとえば、プロジェクトが MyProject である場合、コンストラクターは CMyProjectApp::CMyProjectApp()です。

  4. 次のコード行をコンストラクターに追加します。

    m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
  1. アプリケーションの InitInstance メソッドが、その親の InitInstance メソッド ( CWinApp::InitInstance または CWinAppEx::InitInstanceに追加された機能です。 InitInstance メソッドは、m_dwRestartManagerSupportFlags パラメーターを確認します。

  2. アプリケーションをコンパイルして実行します。

関連項目

CDataRecoveryHandler クラス
CWinApp::m_dwRestartManagerSupportFlags
CWinApp クラス
CWinApp::m_nAutosaveInterval
CDocument::OnDocumentEvent