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]); }
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); }
// 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) { } } } } }
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 } } } } }
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); }
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); }
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 } } } } }
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 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 } } } } }
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);
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."); } }