private static List <MonitorInfo> GetMonitors() { // Get info on all monitors var cb = new EnumMonitorsCallback(); EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, cb.Callback, IntPtr.Zero); // Register for events invalidating monitor info. SystemEvents.DisplaySettingsChanging += OnDisplaySettingsChanging; SystemEvents.UserPreferenceChanged += OnUserPreferenceChanged; // Return result. return(cb.Monitors); }
extern static int EnumDisplayMonitors (IntPtr hdc, IntPtr clip, EnumMonitorsCallback callback, IntPtr user_data);
extern static int EnumDisplayMonitors(IntPtr hdc, IntPtr clip, EnumMonitorsCallback callback, IntPtr user_data);
public static extern bool EnumDisplayMonitors( IntPtr hdc, IntPtr lprcClip, EnumMonitorsCallback lpfnEnum, IntPtr dwData );