C ++中有“Closing console”这样的事件吗?

时间:2014-01-08 22:08:04

标签: c++ windows console

在C#“FormClosing”中是否有任何事件,但在C ++中作为控制台关闭,我可以在控制台关闭之前执行一些代码? (在我的情况下,我想在控制台完全关闭之前用用户的输入创建一个目录。)

3 个答案:

答案 0 :(得分:11)

我的猜测是你想在点击[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();
}

More Info

答案 1 :(得分:0)

如果要关闭控制台,则可以使用FreeConsole();

如果您再想要再次打开控制台,可以使用AllocConsole();

答案 2 :(得分:0)

关闭控制台有效地杀死了您的应用程序。在Windows中,我不确定是否能够捕获此信息,但在linux中你可以捕获KILL信号?