Name

SystemEvents

Synopsis

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, PowerModeChanged SessionEnded, 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 method IntPtr CreateTimer(int interval);  
   public static method void InvokeOnEventsThread(
        Delegate method);  
   public static method void KillTimer(IntPtr timerId);  
// Events
   public event field EventHandler DisplaySettingsChanged;  
   public event field EventHandler EventsThreadShutdown;  
   public event field EventHandler InstalledFontsChanged; public ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.