C # to change the resolution of the display

xiaoxiao2021-03-06  38

"- startfragment -> using system;

Using system.drawing;

Using system.collections;

Using system.componentmodel;

Using system.windows.forms;

Using system.data;

Using system.Runtime.InteropServices;

Namespace ScreenResolution

{

Public Class Form1: System.Windows.Forms.form

{

Public Enum DMDO

{

DEFAULT = 0,

D90 = 1,

D180 = 2,

D270 = 3

}

[Structlayout (layoutkind.sequential, charset = charset.auto)]

Struct Devmode

{

Public const INT DM_DISPLAYFREQUENCY = 0x400000;

Public const Int DM_PELSWIDTH = 0x80000;

Public const INT DM_PELSHEIGHT = 0x100000;

Private const Int cchdevicename = 32;

Private const Int cchFormName = 32;

[Marshalas (UnmanagedType.Byvaltstr, SizeConst = cchdevicename)]]]

Public String DMDeviceName;

Public Short DMSpecversion;

Public Short DMDriverVersion;

Public Short DMSIZE;

Public Short DMDriveRextra;

Public int DMfields;

Public int dmpositionx;

Public int dmpositiony;

PUBLIC DMDO DMDISPLAYORIENTATION;

Public int dmdisplayfixedoutput;

Public Short DMColor;

Public Short DMDuplex;

Public short DMYRESOLUTION;

Public Short DMTTOPTION;

Public short dmcollate;

[Marshalas (UnmanagedType.Byvaltstr, SizeConst = CchFormName)]]]]

Public String DMFormName;

Public Short DMLogpixels;

Public int DMBITSPEL;

Public int Dmpelswidth;

Public int dmpelsheight;

Public Int DMDisplayFlags;

Public Int DMDisplayFrequency;

Public int DMICMMETHOD;

Public int DMICMINTENT;

Public int DMMEDiaType;

Public int dmdithertype;

Public int DMRESERVED1;

Public int DMRESERVED2;

Public int dmpanningwidth;

Public int dmpanningheight;

}

[DLLIMPORT ("User32.dll", Charset = Charset.Auto)]

// static extern int changeisplaySettings (devmode lpdevmode, int dwflags); static extern int changeisplaySettings ([in] ref devmode lpdevmode, int dwflags);

Private system.componentmodel.Container Components = NULL;

Public Form1 ()

{

InitializationComponent ();

}

Protected Override Void Dispose (Bool Disposing)

{

IF (Disposing)

{

IF (Components! = NULL)

{

Components.dispose ();

}

}

Base.dispose (Disposing);

}

#Region Windows Form Designer Generated Code

Private vidinitiRizeComponent ()

{

THIS.AUTOSCALEBASESIZE = New System.drawing.size (6, 14);

THIS.CLIENTSIZE = New System.drawing.size (292, 273);

THIS.TEXT = "Change the example of the screen resolution";

}

#ndregion

Static void main ()

{

Form1 r = new form1 ();

R.Changeres ();

Application.run (New Form1 ());

}

void changeres ()

{

Form1 t = new form1 ();

Long Retval = 0;

DEVMODE DM = New devMode ();

DM.dmsize = (short) Marshal.Sizeof (Typeof (devmode));

DM.dmpelswidth = 1024;

DM.DMPELSHEIGHT = 768;

DM.dmdisplayFrequency = 85;

DM.dmfields = devmode.dm_pelswidth | devmode.dm_pelsheight | devmode.dm_displayfrequency;

Retval = ChangeDisplaySettings (REF DM, 0);

}

}

}

转载请注明原文地址:https://www.9cbs.com/read-68982.html

New Post(0)