以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  (C#)Application.Exit()、Environment.Exit(0)区别  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=79516)


--  作者:卷积内核
--  发布时间:1/15/2010 11:04:00 AM

--  (C#)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就无法完成这个功能


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
4,171.875ms