如何在我的c ++控制台程序关闭时通过未知的进程来进行选择?

时间:2018-06-13 19:05:30

标签: c++ windows

我显然可以通过以下代码检测我的c ++程序已关闭

static BOOL WINAPI console_ctrl_handler(DWORD dwCtrlType)
{
  switch (dwCtrlType)
  {
  case CTRL_C_EVENT: // Ctrl+C
   case CTRL_BREAK_EVENT: // Ctrl+Break
case CTRL_CLOSE_EVENT: //case CTRL_CLOSE_EVENT:
case CTRL_LOGOFF_EVENT: // User logs off.
 case CTRL_SHUTDOWN_EVENT: // System is shutting down. 
   } 
}

我想检测并知道我的程序是否被未知程序关闭,以便可以运行少量最后一位我的代码如此顺利关闭。

1 个答案:

答案 0 :(得分:1)

基于任务管理器的杀戮和命令行杀死的整个想法是尽可能快地和突然地杀死程序! (这是为了防止病毒和其他危险程序立即停止,并且没有时间做出反应)。

您的控制台程序唯一可行的实用解决方案是运行另一个程序并监视您的程序,因此当它突然关闭时,您的第二个程序将负责并完成剩余的工作。

(几乎没有用户会同时杀死这两个程序)