@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The ExitWindowsEx API !!!!C# Signature: [DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason); !!!!Alternative C# Signature: [DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool ExitWindowsEx(uint uFlags, uint dwReason); !!!!VB Signature: <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 !!!!User-Defined Types: None. !!!!Notes: Parameters: *uFlags - See Enums.ExitWindows *dwReason - See Enums.ShutdownReason !!!!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. 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@msdn on MSDN for more info. All other values for uFlags work fine for non-interactive-processes. !!!!Sample Code: class Class1 { [DllImport("user32.dll")] static extern bool ExitWindowsEx(uint uFlags, uint 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: ExitWindowsEx@msdn on MSDN !!!!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. (|)
Edit user32.exitwindowsex
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.