/// <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);
            }
        }
示例#2
0
        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);
            }
        }