在C#“FormClosing”中是否有任何事件,但在C ++中作为控制台关闭,我可以在控制台关闭之前执行一些代码? (在我的情况下,我想在控制台完全关闭之前用用户的输入创建一个目录。)
答案 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();
}
答案 1 :(得分:0)
如果要关闭控制台,则可以使用FreeConsole();
如果您再想要再次打开控制台,可以使用AllocConsole();
答案 2 :(得分:0)
关闭控制台有效地杀死了您的应用程序。在Windows中,我不确定是否能够捕获此信息,但在linux中你可以捕获KILL信号?