次の方法で共有


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

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

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

データを保存してアプリケーションを再起動するために、再起動マネージャーの既定の動作をオーバーライドできます。

既定では、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