Пример #1
0
        /// <summary>
        /// 关闭应用程序并立即启动一个新实例
        /// </summary>
        /// <param name="value">忽略</param>
        public static void Restart(this Application value)
        {
            string cmdLine      = Environment.CommandLine;
            string cmdLineArgs0 = Environment.GetCommandLineArgs()[0];
            int    i            = cmdLine.IndexOf(' ', cmdLine.IndexOf(cmdLineArgs0) + cmdLineArgs0.Length);

            cmdLine = cmdLine.Remove(0, i + 1);

            ProcessStartInfo startInfo = Process.GetCurrentProcess().StartInfo;

            startInfo.FileName  = value.ExecutablePath();
            startInfo.Arguments = cmdLine;
            value.Shutdown();
            Process.Start(startInfo);
        }