Есть ли такое событие, как" закрытие консоли " в C++?

есть ли какое-либо событие, как в C# "FormClosing", но в C++ как закрытие консоли, где я могу выполнить некоторый код до закрытия консоли? (В моем случае я хотел бы создать каталог с вводом пользователя до того, как консоль будет полностью закрыта).

3 ответов


Я предполагаю, что вы хотите получить событие при нажатии [X]

BOOL WINAPI HandlerRoutine( DWORD eventCode )
{
  switch( eventCode )
  {
      case CTRL_CLOSE_EVENT:
      // do your thing
      return FALSE;
      break;
   }

  return TRUE;
}

это то, что вы ищете?

Вам также необходимо включить обработчик:

int main()
{
    SetConsoleCtrlHandler( HandlerRoutine , TRUE );
    getch();
}

Подробнее


Если вы хотите закрыть консоль, то вы можете использовать FreeConsole();

Если вы хотите снова открыть консоль, вы можете использовать AllocConsole();


закрывающая консоль эффективно убивает ваше приложение. В windows я не уверен в способности поймать это, но в linux вы можете поймать сигнал убийства?