void RestartOrShotDown(WinAPIClass5.ShutdownType type) { WinAPIClass5.TokPriv1Luid tp; IntPtr hproc = WinAPIClass5.GetCurrentProcess(); IntPtr hToken = IntPtr.Zero; WinAPIClass5.OpenProcessToken(hproc, WinAPIClass5.TOKEN_ADJUST_PRIVILEGES | WinAPIClass5.TOKEN_QUERY, ref hToken); tp.Count = 1; tp.Luid = 0; tp.Attr = WinAPIClass5.SE_PRIVILEGE_ENABLED; WinAPIClass5.LookupPrivilegeValue(null, WinAPIClass5.SE_SHUTDOWN_NAME, ref tp.Luid); WinAPIClass5.AdjustTokenPrivileges(hToken, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero); WinAPIClass5.ExitWindowsEx((uint)type, "Win Api test"); }