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 dmBitsPerPel; 
    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 ChangeDisplaySettings( DEVMODE lpDevMode, int dwFlags);   static extern int ChangeDisplaySettings( [In] ref DEVMODE lpDevMode, int dwFlags); 
   private System.ComponentModel.Container components = null; 
   public Form1() 
   { 
    InitializeComponent(); 
   } 
   protected override void Dispose( bool disposing ) 
   { 
    if( disposing ) 
    { 
     if (components != null) 
     { 
      components.Dispose(); 
     } 
    } 
    base.Dispose( disposing ); 
   }   #region Windows Form Designer generated code 
   private void InitializeComponent() 
   { 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); 
    this.ClientSize = new System.Drawing.Size(292, 273); 
    this.Text = "改变屏幕分辨率的例子";   } 
   #endregion   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); 
   } 
  } 
 }