博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

winform退出代码:Application.Exit和Environment.Exit(0)

Posted on 2009-07-08 08:12  codingsilence  阅读(237)  评论(0编辑  收藏  举报

Application.Exit和Environment.Exit(0)有什么退出方面的区别吗?

Application.Exit:通知winform消息循环退出。会在所有前台线程退出后,退出应用

强行退出方式,就像 Win32 的 PostQuitMessage()。它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统

 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口

Environment.Exit:立即终止当前进程,应用程序即强制退出。返回exitcode给操作系统,

相比之下Environment.Exit更狠些

因此我们可以构造以下的restart()函数重新启动应用程序
        private static void ReStart()
        {

            Application.Exit();
            System.Diagnostics.Process.Start(Application.ExecutablePath);

        }
用Environment.Exit就无法完成这个功能