Пример #1
0
        private void button4_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Resolution is going to change to " + "max" + " X " + "max");
            Resolution.CResolution ChangeRes = new Resolution.CResolution();
            DEVMODE1 dm1 = ChangeRes.getCurrentResolution();
            DEVMODE1 dm  = ChangeRes.getMaximumSupportedResolution();

            List <DEVMODE1> RL = ChangeRes.getSupportedResolutionList();

            for (int i = 0; i < RL.Count; i++)
            {
                Console.WriteLine("\t" +
                                  "{0} by {1}, " +
                                  "{2} bit, " +
                                  "{3} degrees, " +
                                  "{4} hertz," +
                                  "{5} color",
                                  RL[i].dmPelsWidth,
                                  RL[i].dmPelsHeight,
                                  RL[i].dmBitsPerPel,
                                  RL[i].dmDisplayOrientation * 90,
                                  RL[i].dmDisplayFrequency,
                                  RL[i].dmYResolution);
            }

            ChangeRes.setSupportedResolution(RL[RL.Count - 1]);
        }
Пример #2
0
        public List <DEVMODE1> getSupportedResolutionList()
        {
            List <DEVMODE1> ResolutionList = new List <DEVMODE1>();

            DEVMODE1 dm = new DEVMODE1();

            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName   = new String(new char[32]);
            dm.dmSize       = (short)Marshal.SizeOf(dm);

            int previousResolutionX = 0;
            int previousResolutionY = 0;

            int i = 0;

            while (0 != User_32.EnumDisplaySettings(null, i++, ref dm))
            {
                if (dm.dmPelsWidth > previousResolutionX || dm.dmPelsHeight > previousResolutionY && dm.dmBitsPerPel >= 32)
                {
                    ResolutionList.Add(dm);

                    previousResolutionX = dm.dmPelsWidth;
                    previousResolutionY = dm.dmPelsHeight;

                    dm = new DEVMODE1();
                    dm.dmDeviceName = new String(new char[32]);
                    dm.dmFormName   = new String(new char[32]);
                    dm.dmSize       = (short)Marshal.SizeOf(dm);
                }
            }
            return(ResolutionList);
        }
Пример #3
0
        // Token: 0x06000004 RID: 4 RVA: 0x0000205C File Offset: 0x0000025C
        public CResolution(int a, int b)
        {
            Screen   primaryScreen = Screen.PrimaryScreen;
            DEVMODE1 structure     = default(DEVMODE1);

            structure.dmDeviceName = new string(new char[32]);
            structure.dmFormName   = new string(new char[32]);
            structure.dmSize       = (short)Marshal.SizeOf <DEVMODE1>(structure);
            bool flag = User_32.EnumDisplaySettings(null, -1, ref structure) != 0;

            if (flag)
            {
                structure.dmPelsWidth  = a;
                structure.dmPelsHeight = b;
                int  num   = User_32.ChangeDisplaySettings(ref structure, 2);
                bool flag2 = num == -1;
                if (!flag2)
                {
                    num = User_32.ChangeDisplaySettings(ref structure, 1);
                    int num2 = num;
                    if (num2 != 0)
                    {
                        if (num2 != 1)
                        {
                        }
                    }
                }
            }
        }
Пример #4
0
        public CResolution(int a, int b, ref bool success)
        {
            Screen screen = Screen.PrimaryScreen;


            int iWidth  = a;
            int iHeight = b;


            DEVMODE1 dm = new DEVMODE1();

            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName   = new String(new char[32]);
            dm.dmSize       = (short)Marshal.SizeOf(dm);

            if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
            {
                dm.dmPelsWidth  = iWidth;
                dm.dmPelsHeight = iHeight;

                int iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST);

                if (iRet == User_32.DISP_CHANGE_FAILED)
                {
                    MessageBox.Show("Unable to process your request");
                    MessageBox.Show("Description: Unable To Process Your Request. Sorry For This Inconvenience.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY);

                    switch (iRet)
                    {
                    case User_32.DISP_CHANGE_SUCCESSFUL:
                    {
                        success = true;
                        break;

                        //successfull change
                    }

                    case User_32.DISP_CHANGE_RESTART:
                    {
                        success = false;
                        //MessageBox.Show("Description: You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode.","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);
                        break;
                        //windows 9x series you have to restart
                    }

                    default:
                    {
                        success = false;
                        //MessageBox.Show("Description: Failed To Change The Resolution.\r\n" + iRet + "\r\n" + iWidth.ToString(), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;
                        //failed to change
                    }
                    }
                }
            }
        }
Пример #5
0
        public DEVMODE1 getMaximumSupportedResolution()
        {
            DEVMODE1 dm = new DEVMODE1();

            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName   = new String(new char[32]);
            dm.dmSize       = (short)Marshal.SizeOf(dm);

            int i = 0;

            while (0 != User_32.EnumDisplaySettings(null, i++, ref dm))
            {
                ;
            }

            Console.WriteLine("\t" +
                              "{0} by {1}, " +
                              "{2} bit, " +
                              "{3} degrees, " +
                              "{4} hertz," +
                              "{5} color",
                              dm.dmPelsWidth,
                              dm.dmPelsHeight,
                              dm.dmBitsPerPel,
                              dm.dmDisplayOrientation * 90,
                              dm.dmDisplayFrequency,
                              dm.dmYResolution);

            return(dm);
        }
Пример #6
0
        public DEVMODE1 getCurrentResolution()
        {
            DEVMODE1 dm = new DEVMODE1();

            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName   = new String(new char[32]);
            dm.dmSize       = (short)Marshal.SizeOf(dm);
            if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
            {
                Console.WriteLine("\t" +
                                  "{0} by {1}, " +
                                  "{2} bit, " +
                                  "{3} degrees, " +
                                  "{4} hertz",
                                  dm.dmPelsWidth,
                                  dm.dmPelsHeight,
                                  dm.dmBitsPerPel,
                                  dm.dmDisplayOrientation * 90,
                                  dm.dmDisplayFrequency);
            }
            else
            {
                MessageBox.Show("Unable to process your request");
            }
            return(dm);
        }
Пример #7
0
		public CResolution(int a,int b, int c)
		{
			Screen screen = Screen.PrimaryScreen;
			
			
			int iWidth =a;
			int iHeight =b;
            int iFrequency = c;
			

			DEVMODE1 dm = new DEVMODE1();
			dm.dmDeviceName = new String (new char[32]);
			dm.dmFormName = new String (new char[32]);
			dm.dmSize = (short)Marshal.SizeOf (dm);
            

			if (0 != User_32.EnumDisplaySettings (null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
			{	
				dm.dmPelsWidth = iWidth;
				dm.dmPelsHeight = iHeight;
                dm.dmDisplayFrequency = iFrequency;

				int iRet = User_32.ChangeDisplaySettings (ref dm, User_32.CDS_TEST);

				if (iRet == User_32.DISP_CHANGE_FAILED)
				{
					MessageBox.Show("Unable to process your request");
					MessageBox.Show("Description: Unable To Process Your Request. Sorry For This Inconvenience.","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);
				}
				else
				{
					iRet = User_32.ChangeDisplaySettings (ref dm, User_32.CDS_UPDATEREGISTRY);

					switch (iRet) 
					{
						case User_32.DISP_CHANGE_SUCCESSFUL:
						{
							break;

							//successfull change
						}
						case User_32.DISP_CHANGE_RESTART:
						{
							
							MessageBox.Show("Description: You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode.","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);
							break;
							//windows 9x series you have to restart
						}
						default:
						{
							
							MessageBox.Show("Description: Failed To Change The Resolution.","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);
							break;
							//failed to change
						}
					}
				}
				
			}
		}
        public static void ChangeResolution(int width, int height)
        {
            var screen = Screen.PrimaryScreen;

            var iWidth  = width;
            var iHeight = height;


            var dm = new DEVMODE1 {
                dmDeviceName = new string(new char[32]), dmFormName = new string(new char[32])
            };

            dm.dmSize = (short)Marshal.SizeOf(dm);

            if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
            {
                dm.dmPelsWidth  = iWidth;
                dm.dmPelsHeight = iHeight;

                var iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST);

                if (iRet == User_32.DISP_CHANGE_FAILED)
                {
                    MessageBox.Show("Unable to process your request");
                    MessageBox.Show("Description: Unable To Process Your Request. Sorry For This Inconvenience.", "Information",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY);

                    switch (iRet)
                    {
                    case User_32.DISP_CHANGE_SUCCESSFUL:
                    {
                        break;

                        //successfull change
                    }

                    case User_32.DISP_CHANGE_RESTART:
                    {
                        MessageBox.Show(
                            "Description: You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode.",
                            "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;
                        //windows 9x series you have to restart... in .net framework 4.5, sure.
                    }

                    default:
                    {
                        throw new SystemException("Couldn't change resolution.");
                        //failed to change
                    }
                    }
                }
            }
        }
Пример #9
0
        private static DEVMODE1 GetDevMode1()
        {
            DEVMODE1 dm = new DEVMODE1();

            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName   = new String(new char[32]);
            dm.dmSize       = (short)Marshal.SizeOf(dm);
            return(dm);
        }
Пример #10
0
        public CResolution(int a, int b)
        {
            Screen screen = Screen.PrimaryScreen;


            int iWidth  = a;
            int iHeight = b;


            DEVMODE1 dm = new DEVMODE1();

            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName   = new String(new char[32]);
            dm.dmSize       = (short)Marshal.SizeOf(dm);

            if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
            {
                dm.dmPelsWidth  = iWidth;
                dm.dmPelsHeight = iHeight;

                int iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST);

                if (iRet == User_32.DISP_CHANGE_FAILED)
                {
                }
                else
                {
                    iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY);

                    switch (iRet)
                    {
                    case User_32.DISP_CHANGE_SUCCESSFUL:
                    {
                        break;

                        //successfull change
                    }

                    case User_32.DISP_CHANGE_RESTART:
                    {
                        break;
                        //windows 9x series you have to restart
                    }

                    default:
                    {
                        break;
                        //failed to change
                    }
                    }
                }
            }
        }
Пример #11
0
        public void setSupportedResolution(DEVMODE1 dm)
        {
            int iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST);

            if (iRet == User_32.DISP_CHANGE_FAILED)
            {
                MessageBox.Show("Unable to process your request");
                MessageBox.Show("Description: Unable To Process Your Request. Sorry For This Inconvenience.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY);

                switch (iRet)
                {
                case User_32.DISP_CHANGE_SUCCESSFUL:
                {
                    break;

                    //successfull change
                }

                case User_32.DISP_CHANGE_RESTART:
                {
                    MessageBox.Show("Description: You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;
                    //windows 9x series you have to restart
                }

                default:
                {
                    MessageBox.Show("Description: Failed To Change The Resolution.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;
                    //failed to change
                }
                }
            }
        }
 private static DEVMODE1 GetDevMode1()
 {
     DEVMODE1 dm = new DEVMODE1();
     dm.dmDeviceName = new String(new char[32]);
     dm.dmFormName = new String(new char[32]);
     dm.dmSize = (short)Marshal.SizeOf(dm);
     return dm;
 }
 public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE1 devMode);
 public static extern int ChangeDisplaySettings(ref DEVMODE1 devMode, int flags);
Пример #15
0
        static public string ChangeResolution(int width, int height)
        {
            DEVMODE1 dm = GetDevMode1();

            DISPLAY_DEVICE dsp = new DISPLAY_DEVICE();

            dsp.cb = Marshal.SizeOf(dsp);


            /* for(int i=0; true ; i++) */
            /* { */
            /*     if(!User_32.EnumDisplayDevices(null, i, ref dsp, 0)) */
            /*     { */
            /*         break; */
            /*     } */

            /* Console.WriteLine("DISPLAY_DEVICE: \n" + dsp.ToString()); */

            /*     if(dsp.DeviceString == "Standard VGA Graphics Adapter") */
            /*     { */
            /*         break; */
            /*     } */
            /* } */

            /* Console.WriteLine("Selected DISPLAY_DEVICE: \n" + dsp.ToString()); */

            if (0 != User_32.EnumDisplaySettings(null, User_32.ENUM_CURRENT_SETTINGS, ref dm))
            {
                dm.dmPelsWidth  = width;
                dm.dmPelsHeight = height;

                int iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_TEST);

                if (iRet == User_32.DISP_CHANGE_FAILED)
                {
                    return("Unable To Process Your Request. Sorry For This Inconvenience.");
                }
                else
                {
                    iRet = User_32.ChangeDisplaySettings(ref dm, User_32.CDS_UPDATEREGISTRY);
                    switch (iRet)
                    {
                    case User_32.DISP_CHANGE_SUCCESSFUL:
                    {
                        return("Success");
                    }

                    case User_32.DISP_CHANGE_RESTART:
                    {
                        return("You Need To Reboot For The Change To Happen.\n If You Feel Any Problem After Rebooting Your Machine\nThen Try To Change Resolution In Safe Mode.");
                    }

                    default:
                    {
                        return("Failed To Change The Resolution");
                    }
                    }
                }
            }
            else
            {
                return("Failed To Change The Resolution.");
            }
        }
Пример #16
0
 public static extern int ChangeDisplaySettings(ref DEVMODE1 devMode, int flags);
Пример #17
0
 public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE1 devMode);