ExitWindowsEx (user32)
Last changed: -64.197.105.66

.
Summary

C# Signature:

[DllImport("user32.dll")]
static extern bool ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason);

User-Defined Types:

None.

Notes:

Parameters:

Tips & Tricks:

To shut down or restart the system on NT/2K/XP, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege.

Sample Code:

    class Class1
    {
        [DllImport("user32.dll")]
        static extern bool ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason);

        [STAThread]
        static void Main(string[] args)
        {
            ExitWindowsEx(ExitWindows.LogOff, ShutdownReason.MajorOther & ShutdownReason.MinorOther);
            //this will cause the computer to logoff.
        }
    }

Alternative Managed API:

Do you know one? Please contribute it!

Documentation