方法: 再起動マネージャーのサポートを追加する
再起動マネージャーとは、Windows Vista 用の Visual Studio に追加された機能です。再起動マネージャーにより、アプリケーションが予期せずに終了または再起動した場合のアプリケーションのサポートが強化されます。再起動マネージャーの動作は、アプリケーションの種類によって決まります。アプリケーションがドキュメントのエディターである場合、再起動マネージャーは、アプリケーションが予期せずに終了したら、開いているドキュメントの状態と内容をアプリケーションが自動的に保存できるようにし、アプリケーションを再起動します。アプリケーションがドキュメントのエディターではない場合、再起動マネージャーは、アプリケーションを再起動しますが、既定ではアプリケーションの状態を保存できません。
Unicode アプリケーションは、再起動後、タスク ダイアログ ボックスを表示します。ANSI アプリケーションは、Windows メッセージ ボックスを表示します。この時点で、ユーザーは自動的に保存されたドキュメントを復元するかどうかを選択します。自動的に保存されたドキュメントを復元しない場合は、再起動マネージャーによって一時ファイルが破棄されます。
[!メモ]
データの保存とアプリケーションの再起動を行う再起動マネージャーの既定の動作はオーバーライドできます。
既定では、Visual Studio でプロジェクト ウィザードを使用して作成された MFC アプリケーションは、Windows Vista を搭載したコンピューターで実行されていれば、再起動マネージャーをサポートします。アプリケーションが再起動マネージャーをサポートしないようにする場合は、新しいプロジェクト ウィザードで再起動マネージャーを無効にすることができます。
既存のアプリケーションが再起動マネージャーをサポートするように設定するには
MFC アプリケーションを Visual Studio で開きます。
メイン アプリケーションのソース ファイルを開きます。既定では、これはアプリケーションと同じ名前の .cpp ファイルです。たとえば、MyProject のメイン アプリケーションのソース ファイルは、MyProject.cpp です。
メイン アプリケーションのコンストラクターを探します。たとえば、プロジェクトが MyProject である場合、コンストラクターは CMyProjectApp::CMyProjectApp() です。
次のコード行をコンストラクターに追加します。
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
アプリケーションの [InitInstance] メソッドが、その親の InitInstance メソッド (CWinApp::InitInstance または CWinAppEx::InitInstance) を呼び出すことを確認します。InitInstance メソッドは、m_dwRestartManagerSupportFlags パラメーターをチェックします。
アプリケーションをコンパイルして実行します。