O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required