繁体   English   中英

如何立即退出Windows窗体.NET应用程序?

[英]How to immediately exit a Windows Forms .NET application?

在我们的应用程序中,我们有一个非常广泛的异常处理机制 在我们的错误处理逻辑中的某个时刻,我们想要终止应用程序 - 就在此时没有进一步的代码执行。

我们当前的代码使用Environment.Exit()来做到这一点。 在调用Environment.Exit()之后,仍然执行了一些代码。 例如,GC可能会执行某些对象的终结器(这会导致我们的问题)。 我们不希望这种情况发生。 有没有办法真正杀死我们自己的进程(可能是Win32 API调用)?

当然,我们不希望最终用户看到程序崩溃时出现的Windows对话框...

使用Environment.FailFast方法:

终止进程但不执行任何活动的try-finally块或终结器。

这似乎适用于一个简单的应用程序,但我没有尝试任何复杂的:

System.Diagnostics.Process.GetCurrentProcess().Kill();

GetCurrentProcess

获取一个新的Process组件并将其与当前活动的进程相关联。

杀死

Kill强制终止进程,而CloseMainWindow仅请求终止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM