Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何处理Win32应用程序终止_C_Winapi_Signals - Fatal编程技术网

C 如何处理Win32应用程序终止

C 如何处理Win32应用程序终止,c,winapi,signals,C,Winapi,Signals,我有一个Win32应用程序,没有用C编写的窗口。 我的问题是:有没有办法处理我的申请被终止的问题。例如,从任务管理器或通过控制台关闭它。您可能想看看atexit()函数() 使用此函数,您可以安装程序终止时调用的处理程序。您可能想看看atexit()函数() 使用此函数,您可以安装程序终止时调用的处理程序。问题不清楚,但如果这是控制台模式应用程序,则您可以调用安装回调,Windows将在其终止应用程序之前调用该回调。请注意,此回调在单独的线程上运行,并且必须快速完成回调函数 如果它是一个没有创建

我有一个Win32应用程序,没有用C编写的窗口。
我的问题是:有没有办法处理我的申请被终止的问题。例如,从任务管理器或通过控制台关闭它。

您可能想看看
atexit()
函数()


使用此函数,您可以安装程序终止时调用的处理程序。

您可能想看看
atexit()
函数()


使用此函数,您可以安装程序终止时调用的处理程序。

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

如果它是一个没有创建窗口的本机Windows程序,那么您确实需要一个窗口来获取这样的通知。这不是问题,它不必是可见的。不要调用ShowWindow()


请注意,前面提到的atexit()将不起作用,这些是您正在谈论的粗暴中止,不会让程序经历正常的关闭顺序。

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

如果它是一个没有创建窗口的本机Windows程序,那么您确实需要一个窗口来获取这样的通知。这不是问题,它不必是可见的。不要调用ShowWindow()


请注意,前面提到的atexit()将不起作用,您所说的这些是粗鲁的中止,不会让程序经历正常的关闭顺序。

什么是“处理终止”?你是在问如何使用Windows任务管理器吗?我正在为键盘创建一个全局钩子,我想在从任务管理器中删除我的应用程序之前删除它。我正在寻找一种类似于linux处理KILL信号的行为。为什么要投反对票?这不是一个清晰的用例吗?你说的“处理终止”是什么意思?你是在问如何使用Windows任务管理器吗?我正在为键盘创建一个全局钩子,我想在从任务管理器中删除我的应用程序之前删除它。我正在寻找一种类似于linux处理KILL信号的行为。为什么要投反对票?这不是一个清晰的用例吗?它不处理任务管理器中的“结束任务”,但总比没有好。它不处理任务管理器中的“结束任务”,但总比没有好。为了简单,我会坚持创建一个窗口。为了简单,我会坚持创建一个窗口。