杀死应用程序实例的最佳方法

Eat*_*ton 14 c# process winforms

杀死应用程序实例的最佳方法是什么?我知道这三种方法:

Application.Exit()

Environment.Exit(0)

Process.GetCurrentProcess(),杀()

任何人都可以告诉我哪个更好或何时使用上述每个都适合?

Orb*_*bit 20

来自c#faq的指南:

System.Windows.Forms.Application.Exit() - 通知所有消息泵必须终止,然后在处理完消息后关闭所有应用程序窗口.此方法停止所有线程上的所有正在运行的消息循环,并关闭应用程序的所有窗口.此方法不会强制应用程序退出.Exit方法通常在消息循环中调用,并强制Run返回.要仅退出当前线程的消息循环,请调用ExitThread.如果您正在运行WinForms应用程序,则这是要使用的调用.作为一般准则,如果您调用了System.Windows.Forms.Application.Run,​​请使用此调用.

System.Environment.Exit(exitCode) - 终止此进程并为底层操作系统提供指定的退出代码.此调用要求您具有SecurityPermissionFlag.UnmanagedCode权限.如果不这样做,则会发生SecurityException错误.如果您正在运行控制台应用程序,则这是要使用的调用.

可能不建议杀死该过程.

  • 值得注意的是,`Process.GetCurrentProcess().Kill()`是终止应用程序的正确方法,如果你需要立即停止它.您不希望等待正在喷出错误订单的交易应用程序正常退出.你想要杀死那只小狗. (5认同)