关闭c ++控制台应用程序时会发生什么

rlb*_*ond 24 c++ winapi console-application

我想问题就是这一切,但是,如果有人关闭c ++控制台应用程序会发生什么?如上所示,单击顶角的"x".它会立即关闭吗?它会引发某种异常吗?是不确定的行为?

Rau*_*ait 20

CTRL_CLOSE_EVENT如果使用SetConsoleCtrlHandler函数设置控制处理程序,则关闭顶部角落中带有"x"的c ++控制台应用程序会引发一个可以捕获并处理的应用程序.在那里,您可以覆盖关闭功能并执行您希望执行的任何操作,然后可选地仍然执行默认行为.


And*_*ewR 9

我想控制台进程只是被操作系统毫不客气地杀死了.如果你想捕获这个事件并做一些事情,看起来像SetConsoleCtrlHandler函数就是这样做的.

也可以看看:


Zyx*_*Zyx 9

在Linux和其他Unix系统上,控制台作为单独的进程运行.当您关闭shell时,它会将SIGHUP信号发送到当前活动的进程或未在后台执行的进程.如果程序员没有处理它,那么该过程就会终止.如果您关闭与终端和活动进程的SSH会话,则会发送相同的信号.


小智 8

SIGBREAK 是在Windows上引发的.

  • 当然可以.这是我找到这个页面时想要的答案. (3认同)