2014-01-28 3 views
1

Есть ли способ вызвать функцию при завершении (щелчок по красному X консоли) не-объектно-ориентированного консольного приложения (простая основная программа)?Функция вызова перед завершением C++

Может поймать сообщение красного X и обработать его потом ...

Спасибо!

+0

_Click на X консоли_ не означает, что вы обязательно должны выйти. Пожалуйста, уточните, что вы сделали, в чем проблема, с которой вы столкнулись, вместо того, чтобы расплывчато. – legends2k

+0

Почему бы вам не описать вашу проблему вместо решения, которое у вас есть ... – StoryTeller

+0

signal() может работать, но не остановит его закрытие. Это зависит от того, какой сигнал он получает, закрывая консоль. – CashCow

ответ

5

Когда вы находитесь в Windows и запускаете консольное приложение внутри обычного окна консоли, а затем нажмите кнопку «Закрыть» ([X]), это сгенерирует CTRL_CLOSE_EVENT.

Вы можете обработать их, установив обработчик событий консоли с помощью функции API Win32 API SetConsoleCtrlHandler.

Смежные вопросы