public static ScreenEx GetScreenSettings(Forms.Screen screen) { ScreenSettingsDevMode DevMode = new ScreenSettingsDevMode(true); if (EnumDisplaySettings(screen.DeviceName, -1 /*current settings*/, ref DevMode) == 0) throw new Exception("EnumDisplaySettings (user32.dll) returned 0"); ScreenEx screenSettings = new ScreenEx(screen, DevMode); return screenSettings; }
/// <summary> /// <para>Updates the screen's settings</para> /// </summary> /// <param name="screen"></param> /// <returns></returns> public static bool UpdateScreen(ScreenEx screen) { ScreenSettingsDevMode devMode = screen.ToDEVMODE(); DispChange result = ChangeDisplaySettingsEx(screen.Name, ref devMode, CDS.RESET | CDS.UPDATEREGISTRY); if (result >= 0) return true; else return false; }
/// <summary> /// <para>Updates the screen's settings and sets it as primary screen</para> /// </summary> /// <param name="screen"></param> /// <returns></returns> public static bool UpdateScreenAndMakePrimary(ScreenEx screen) { ScreenSettingsDevMode devMode = screen.ToDEVMODE(); return ChangeDisplaySettingsEx(screen.Name, ref devMode, CDS.RESET | CDS.UPDATEREGISTRY | CDS.SET_PRIMARY) >= 0; }