C ++ Windows程序检测程序退出|没有GUI或控制台

时间:2016-04-06 16:50:38

标签: c++ winapi

在没有控制台或GUI的C ++ Windows程序中,我不想检测任务是否被取消/停止。 我怎样才能做到这一点?

感谢。

2 个答案:

答案 0 :(得分:5)

你的"任务"跑,怎么停止?如果它刚刚被外界杀死/终止,那么你就无法在该过程中检测到它。

如果你的程序以常规方式退出(没有杀人,没有快速退出),你可以注册一个"清理"函数atexit(),将在exit()期间运行。

编辑:或者因为它是C ++,你可以使用自定义类型的全局变量并在析构函数中运行你的代码,这与atexit()基本相同。

答案 1 :(得分:3)

atexit()将是C-portable方式。

如果您想使用特定于Windows的方式执行此操作,请参阅:Win32 API analog of sending/catching SIGTERM