Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than user32, prefix the name with the module name and a period.
<DllImport("user32.dll", SetLastError:=True)> _
Shared Function ExitWindowsEx( _
ByVal uFlags As ExitWindows, _
ByVal dwReason As ShutdownReason) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function
Alternative VB Signature:
Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Int32, ByVal dwReserved As Int32) As Int32
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.
If uFlags is set to 'LogOff', then the call will fail if the process calling it is a non-interactive-process (i.e a Windows Service). Read the ExitWindowsEx on MSDN for more info. All other values for uFlags work fine for non-interactive-processes.
[STAThread]
static void Main(string[] args)
{
ExitWindowsEx(ExitWindows.LogOff, ShutdownReason.MajorOther | ShutdownReason.MinorOther);
ExitWindowsEx(ExitWindows.LogOff, ShutdownReason.MajorOther & ShutdownReason.MinorOther);
//this will cause the computer to logoff.
}
}
Alternative Managed API:
Do you know one? Please contribute it!
Page Change:
Changed the sample code Reason parameter from "&" to "ShutdownReason.MajorOther | ShutdownReason.MinorOther". Amperstand (&) is the binary AND condition, and the values ANDed together would be zero. The intended condition is that the flags be ORed together. (|)
The ExitWindowsEx API
9/11/2013 3:25:46 PM - -64.197.105.66
Defines the Shutdown type for the user32.ExitWindowsEx method
2/14/2011 7:01:26 PM - -78.168.228.248
Defines the Shutdown reason for the user32.ExitWindowsEx method
5/7/2009 4:35:31 PM - -218.74.122.100
Enables or disables privileges in a specified access token
5/19/2019 4:17:06 AM - -91.119.3.204
Defines the Shutdown reason for the user32.ExitWindowsEx method
5/7/2009 4:35:31 PM - -218.74.122.100
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).