2013-03-07 78 views
2

我有没有用C写的窗口的Win32应用程序 我的问题是:有没有什么办法来处理我的应用程序的终止。防爆。从任务管理器或通过控制台关闭它。如何处理的Win32应用程序终止

+0

你是什么意思“处理终止”?你问如何使用Windows任务管理器? – Lundin 2013-03-07 16:05:28

+1

我正在为键盘创建一个全局钩子,我想在应用程序从任务管理器中死掉之前删除它。 我正在寻找与处理KILL信号的类似的行为。 – 2013-03-07 16:06:45

+1

为什么选择投票?这不是一个明确的用例吗? – alk 2013-03-07 16:21:04

回答

2

从这个问题还不清楚,但如果这是一个控制台模式应用程序,那么你可以拨打SetConsoleCtrlHandler安装一个回调函数,Windows将在它终止你的应用程序之前调用回调函数。请注意,此回调运行在单独的线程上,并且您必须快速完成回调函数。

如果它只是不会创建一个窗口,那么你真的需要一个窗口,得到这样的通知本地Windows程序。这不是问题,它不一定是可见的。只是不要调用ShowWindow()。

注意的atexit()提到将无法正常工作,这些都是不礼貌中止你正在谈论的是不要让程序去通过正常关机顺序。

+0

我会坚持创造一个简单的窗口。 – 2013-03-07 17:05:30