Пример #1
0
        public static void SetDisplayMode(DisplayMode displayMode)
        {
            DevMode devMode = new DevMode();

            devMode.dmSize             = (short)Marshal.SizeOf(devMode);
            devMode.dmBitsPerPel       = displayMode.BitsPerPixels;
            devMode.dmPelsWidth        = displayMode.Width;
            devMode.dmPelsHeight       = displayMode.Height;
            devMode.dmDisplayFrequency = displayMode.Frequency;
            devMode.dmFields           = DM.BitsPerPixel | DM.DisplayFrequency | DM.PelsHeight | DM.PelsWidth;

            DisplayChange result = User32.ChangeDisplaySettings(ref devMode, ChangeDisplaySettingsFlags.FullScreen);
        }
Пример #2
0
        /// <summary>
        /// Changes the display frequency of the built-in display.
        /// </summary>
        /// <param name="newFreq"></param>
        /// <returns></returns>
        public bool SetIntegratedDisplayFrequency(uint newFreq)
        {
            string devName = this.GetIntegratedDisplayName();

            if (devName == null)
            {
                return(false);
            }

            DEVMODE current = default;

            current.dmSize = (ushort)Marshal.SizeOf <DEVMODE>();
            if (!User32.EnumDisplaySettings(devName, User32.ENUM_CURRENT_SETTINGS, ref current))
            {
                return(false);
            }

            current.dmDisplayFrequency = newFreq;
            User32.ChangeDisplaySettings(ref current, 0);

            return(true);
        }
Пример #3
0
 public static void ResetDisplayMode()
 {
     DisplayChange result = User32.ChangeDisplaySettings(IntPtr.Zero, ChangeDisplaySettingsFlags.None);
 }