winform重启程序

在程序里需要退出当前winform程序,并重新启动,刚开始用了application.restart()方法,但是会出现错误“引发的异常:“System.Deployment.Application.InvalidDeploymentException”(位于 System.Deployment.dll 中)”,虽然不影响程序正常运行,但是看了也非常不舒服。

于是在网上搜索结局办法,通过使用下面的代码可以实现程序重启功能并且不会报错。

            Application.ExitThread();
            Thread RestartThread = new Thread(new ParameterizedThreadStart(run));
            object appName = Application.ExecutablePath;//获取应用程序路径和名称
            Thread.Sleep(100);
            RestartThread.Start(appName);

private void run(Object obj)
        {
            Process ps = new Process();
            ps.StartInfo.FileName = obj.ToString();
            ps.Start();
        }

posted @ 2020-04-14 10:18  Johnson2580  阅读(844)  评论(1)    收藏  举报