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

This is the System Shutdown Reason Code. If your application will run in an enterprise environment, set this to the appropriate value found in MSDN or talk to your/customer's IT department - they may have custom codes defined. If you don't care about this 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! Respect the eng.

Documentation