This class provides global events
for select Windows operating
system events. You can write event handlers to receive these. Some of
the events include notifications that occur when user settings are
changed (DisplaySettingsChanged,
TimeChanged, and
UserPreferenceChanged) or when the system state
changes (LowMemory,
PowerModeChangedSessionEnded, and
SessionEnding). You can also receive notifications
about new fonts (InstalledFontsChanged) and
palette switching in 256-color mode
(PaletteChanged).
System event handlers are executed on a different thread than the
rest of your program. For this reason, code in the event handler must
be thread-safe. If your event handler needs access to other objects
from your program, you can use the static method
InvokeOnEventsThread( ) to instantiate these
objects on the system event listener thread. This way, they are
easily accessible to the event handler code.
Do not perform time-consuming tasks in a system event handler, as it
may cause problems with other applications that are also trying to
handle the event.
public sealed class SystemEvents {
// Public Static Methods
public static IntPtr CreateTimer(int interval);
public static void InvokeOnEventsThread(Delegate method);
public static void KillTimer(IntPtr timerId);
// Events
public event EventHandler DisplaySettingsChanged;
public event EventHandler EventsThreadShutdown;
public event EventHandler InstalledFontsChanged;
public event EventHandler LowMemory;
public event EventHandler PaletteChanged;
public event PowerModeChangedEventHandler PowerModeChanged;
public event SessionEndedEventHandler SessionEnded;
public event SessionEndingEventHandler SessionEnding;
public event EventHandler TimeChanged;
public event TimerElapsedEventHandler TimerElapsed;
public event UserPreferenceChangedEventHandler UserPreferenceChanged;
public event UserPreferenceChangingEventHandler UserPreferenceChanging;
}