Export (0) Print
Expand All

SystemEvents::SessionEnding Event

Occurs when the user is trying to log off or shut down the system.

Namespace:  Microsoft.Win32
Assembly:  System (in System.dll)

public:
static   event SessionEndingEventHandler^ SessionEnding {
	void add (SessionEndingEventHandler^ value);
	void remove (SessionEndingEventHandler^ value);
}

ExceptionCondition
InvalidOperationException

System event notifications are not supported under the current context. Server processes, for example, might not support global system event notifications.

ExternalException

The attempt to create a system events window thread did not succeed.

This is a cancelable event. Setting the Cancel property to false will request that the session continues to run. It provides no guarantee that the session will not end.

If you are using SessionEnding in a Windows form to detect a system logoff or reboot, there is no deterministic way to decide whether the Closing event will fire before this event.

If you want to perform some special tasks before Closing is fired, you need to ensure that SessionEnding fires before Closing. To do this, you need to trap the WM_QUERYENDSESSION in the form by overriding the WndProc function. This example demonstrates how to do this.

No code example is currently available or this language may not be supported.
Important noteImportant Note:

Console applications do not raise the SessionEnding event.

NoteNote:

This event is only raised if the message pump is running. In a Windows service, unless a hidden form is used or the message pump has been started manually, this event will not be raised. For a code example that shows how to handle system events by using a hidden form in a Windows service, see the SystemEvents class.

Caution noteCaution:

Because this is a static event, you must detach your event handlers when your application is disposed, or memory leaks will result.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft