closuresc ++控制台应用程序时会发生什么?

我想这个问题说了这一切,但是,如果有人closures一个c + +控制台应用程序会发生什么? 如在,点击顶部的“X”。 它是否立即closures? 它会抛出某种exception吗? 它是不确定的行为?

4 Solutions collect form web for “closuresc ++控制台应用程序时会发生什么?”

使用顶部的“x”closuresc ++控制台应用程序会引发一个CTRL_CLOSE_EVENT ,如果您使用SetConsoleCtrlHandler函数设置控件处理程序,则可以捕获并处理它。 在那里,你可以重写closuresfunction,并执行你想要做的任何事情,然后可选地仍然执行默认行为。

我想象一下,控制台进程被操作系统毫不客气地杀死。 如果你想要捕获这个事件并做一些事情,像SetConsoleCtrlHandler函数是这样做的。

也可以看看:

  • 如何在命令行界面中处理ctrl-break信号
  • 控制台事件处理

在Linux和其他Unix系统上,控制台作为一个单独的进程运行。 在closuresshell时,它会将SIGHUP信号发送到当前活动的一个或多个在后台不执行的进程。 如果程序员不处理它,这个过程就会终止。 如果用terminal和活动进程closuresSSH会话,则会发送相同的信号。

SIGBREAK在Windows上引发。

  • 我怎样才能不使用主机环境的站点包文件夹使用pywin32与virtualenv?
  • Objective C for Windows
  • C# - 检测上次用户与操作系统交互的时间
  • 为什么closures使用AllocConsole启动的控制台会导致我的整个应用程序退出? 我可以改变这种行为吗?
  • Send Message和Post Message之间有什么区别,以及这些与C#,WPF和Pure windows编程有什么关系?
  • 如何从GetLastError()返回的错误代码中获取错误消息?
  • 我怎样才能在Windows应用程序截图?
  • 如何使用DoEvents()而不是“邪恶”?
  • 相当于C(WinAPI)中的DllMain的C#
  • 为什么在C ++中,我们使用DWORD而不是unsigned int?
  • 32位和64位代码的DWORD有多大?