예제 #1
0
        private static bool Restart(string Arguments)
        {
            WindowsIdentity  identity  = WindowsIdentity.GetCurrent();
            WindowsPrincipal principal = new WindowsPrincipal(identity);

            if (principal.IsInRole(WindowsBuiltInRole.Administrator))
            {
                return(false);
            }

            Win32.ShowWindow(Win32.GetConsoleWindow(), Win32.SW_HIDE);

            try
            {
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
                {
                    FileName  = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName,
                    Arguments = Arguments,
                    Verb      = "runas"
                });
            }
            catch (Exception) { }

            Environment.Exit(Environment.ExitCode);

            return(true);
        }