ウインドウを表示する一般的なWindowsアプリケーションは、 システムからの通知をウインドウプロシージャという関数で受信するという特徴があります。 たとえば、システムがシャットダウンされようとしているときはWM_QUERYENDSESSIONが送られ、 アプリケーションはこのタイミングでクリーンアップ処理を行うことができます。 こうした通知をコンソールを表示するアプリケーションからでも検出したい場合は、 SetConsoleCtrlHandlerを呼び出してハンドラ関数を追加することになります。 BOOL WINAPI SetConsoleCtrlHandler( PHANDLER_ROUTINE HandlerRoutine, BOOL Add ); HandlerRoutineは、ハンドラ関数のアドレスを指定します。 Addは、ハンドラ関数を追加する場合にTRUEを指定し、削除する場