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); }