ExitWindowsEx (user32)
Last changed: -64.197.105.66

.
Summary

C# Signature:

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

User-Defined Types:

None.

Notes:

uFlags

4 = Force any applications to quit instead of prompting the user to close them.

0 = Log off the network.

8 = Shut down the system and, if possible, turn the computer off.

2 = Perform a full reboot of the system.

1 = Shut down computer.

dwReason

Just set this = 0

Tips & Tricks:

Please add some!

Sample Code:

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

        [STAThread]
        static void Main(string[] args)
        {
            ExitWindowsEx(0, 0); //this will cause the computer to logoff.
            ExitWindowsEx(1, 0); //And this will shutdown your computer.
        }
    }

Alternative Managed API:

Do you know one? Please contribute it!

Documentation