/// <summary> /// Applies settings that are saved using SaveDisplaySettings() or other similar methods but not yet applied /// </summary> public static void ApplySavedSettings() { var result = DeviceContextApi.ChangeDisplaySettingsEx( null, IntPtr.Zero, IntPtr.Zero, ChangeDisplaySettingsFlags.Reset, IntPtr.Zero); if (result != ChangeDisplaySettingsExResults.Successful) { throw new ModeChangeException($"[{result}]: Applying saved settings failed.", null, result); } }
internal void Save(DisplayDevice display, bool reset) { var deviceMode = GetDeviceMode(display); var flags = ChangeDisplaySettingsFlags.UpdateRegistry | ChangeDisplaySettingsFlags.Global; flags |= reset ? ChangeDisplaySettingsFlags.Reset : ChangeDisplaySettingsFlags.NoReset; if (IsEnable && (Position.X == 0) && (Position.Y == 0)) { flags |= ChangeDisplaySettingsFlags.SetPrimary; } var result = DeviceContextApi.ChangeDisplaySettingsEx(display.DisplayName, ref deviceMode, IntPtr.Zero, flags, IntPtr.Zero); if (result != ChangeDisplaySettingsExResults.Successful) { throw new ModeChangeException($"[{result}]: Applying saved settings failed.", display, result); } }