Example #1
0
        public static bool ChangeResolutionEx(ResolutionModeWrapper resolutionMode, string lpszDeviceName)
        {
            Devmode mode = new Devmode();

            if (GetCurrentResolutionSettings(out mode, lpszDeviceName))
            {
                mode.dmPelsWidth          = resolutionMode.DmPelsWidth;
                mode.dmPelsHeight         = resolutionMode.DmPelsHeight;
                mode.dmBitsPerPel         = resolutionMode.DmBitsPerPel;
                mode.dmDisplayFrequency   = resolutionMode.DmDisplayFrequency;
                mode.dmDisplayFixedOutput = resolutionMode.DmDisplayFixedOutput;


                DispChange returnValue = (DispChange)ChangeDisplaySettingsEx(lpszDeviceName, ref mode, IntPtr.Zero, (ChangeDisplaySettingsFlags.CdsUpdateregistry | ChangeDisplaySettingsFlags.CdsNoreset), IntPtr.Zero);
                ChangeDisplaySettingsEx(null, IntPtr.Zero, (IntPtr)null, ChangeDisplaySettingsFlags.CdsNone, (IntPtr)null);

                if (DispChange.DispChangeSuccessful == returnValue)
                {
                    return(true);
                }
                else
                {
                    MessageBox.Show("Changing the resolution failed: " + Enum.GetName(typeof(DispChange), returnValue));
                }
            }
            return(false);
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
        public static bool ChangeResolution(ResolutionModeWrapper resolutionMode)
        {
            Devmode mode = new Devmode();

            if (GetCurrentResolutionSettings(out mode, null))
            {
                mode.dmPelsWidth          = resolutionMode.DmPelsWidth;
                mode.dmPelsHeight         = resolutionMode.DmPelsHeight;
                mode.dmBitsPerPel         = resolutionMode.DmBitsPerPel;
                mode.dmDisplayFrequency   = resolutionMode.DmDisplayFrequency;
                mode.dmDisplayFixedOutput = resolutionMode.DmDisplayFixedOutput;

                DispChange returnValue = (DispChange)ChangeDisplaySettings(ref mode, 0);
                if (DispChange.DispChangeSuccessful == returnValue)
                {
                    return(true);
                }
                else
                {
                    MessageBox.Show("Changing the resolution failed: " + Enum.GetName(typeof(DispChange), returnValue));
                }
            }
            return(false);
        }