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);
}
}
}
分享到:
相关推荐
修改显示器分辨率工具PowerStrip-v3.90 是一款很好的应用工具
检测当前使用物理显示器的分辨率及色彩深度
显示器分辨率设置工具 显示器分辨率设置工具 显示器分辨率设置工具 显示器分辨率设置工具 显示器分辨率设置工具 显示器分辨率设置工具
显示器分辨率自动调节器是一个显示器分辨率自动修改工具,可以依照计算机名称动态的改变显示器的分辨率、刷新率和桌面背景图案的程序。把配置文件当做电子表格来修改,也可以通过自带的记事本、写字板等文本编辑工具...
本程序可以自动调整显示器分辨率,当然你也可以手工调整。启动后将检测你的显示设备显卡名称,当前设置的分辨率及推荐设置。提示若黑屏或出错,15秒内Ctrl R恢复,Ctrl A安全设置。自动设置推荐分辨率的倒计时已停止...
显示器硬件按钮坏了,显示器分辨率明暗调用软件控制软件
更改显示器分辨率更改实例应用,可应用主机更改显示的各种分辨率,用可以任意设置。
通过获取显示器的分辨率,自动调整Form中控件的布局
用于更改显示器分辨率的C++小程序,在VS.net 2005下编译通过
枚举全部显示器的分辨率,亲自实测功能有效,只管调用就行了
根据设定的分辨率值改变显示器分辨率VB6.0
Linux下显示器分辨率及刷新率设置 一、查看显卡相关信息 二、显示器分辨率及刷新率设置
显示器分辨率检测.rar显示器分辨率检测.rar显示器分辨率检测.rar显示器分辨率检测.rar显示器分辨率检测.rar显示器分辨率检测.rar
在程序中动态改变显示器的屏幕分辨率。 程序在Delphi6下调试通过。
常见的显示器分辨率详解(配图).
可以哟功能来测试访问者显示器的分辨率,用的着的哦
VESA标准 显示器各种分辨率的时序 VESA标准的文档
显示器分辨率快速设置工具,可用Ctrl+R快速降低分辨率
Js检测显示器分辨率! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net !!