Есть ли такое событие, как" закрытие консоли " в 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 вы можете поймать сигнал убийства?