日期:2014-05-18  浏览次数:20729 次

winform 程序执行退出后如何又重新启动程序呢?就是类似注销功能。
C# code



  Application.Exit();
            Application.ExitThread(); 
            System.Environment.Exit(0);








类似注销功能。

------解决方案--------------------
Application.Restart();



------解决方案--------------------
Application.Restart关闭应用程序并立即启动新的实例
------解决方案--------------------
1、在关闭前,执行一下代码:
 Process newProcess = new Process();//创建一个新的进程
ProcessStartInfo startInfo = new ProcessStartInfo();//启动进程时使用的集合
startInfo.FileName = "B.exe";//要启动的应用程序
startInfo.WindowStyle = ProcessWindowStyle.Normal;//启动应用程序时使用的窗口状态
startInfo.WorkingDirectory = Environment.CurrentDirectory + "\\";//要启动应用程序的路径
newProcess.StartInfo = startInfo;//把启动进程的信息赋值给新建的进程
newProcess.StartInfo.UseShellExecute = false;//是否使用操作系统shell执行该程序 
newProcess.Start();
2、从新写一个EXE程序(叫B),该程序什么也不做,只定义一个线程,线程的方法就是重启需要的程序:例如我需要重启的程序叫A,则线程中的方法写:
Process newProcess = new Process();//创建一个新的进程
ProcessStartInfo startInfo = new ProcessStartInfo();//启动进程时使用的集合
startInfo.FileName = "A.exe";//要启动的应用程序
startInfo.WindowStyle = ProcessWindowStyle.Normal;//启动应用程序时使用的窗口状态
startInfo.WorkingDirectory = Environment.CurrentDirectory + "\\";//要启动应用程序的路径
newProcess.StartInfo = startInfo;//把启动进程的信息赋值给新建的进程
newProcess.StartInfo.UseShellExecute = false;//是否使用操作系统shell执行该程序 
newProcess.Start();
//退出控制台程序
Application.Exit();
这样就可以了, 我测试过的。