官方首页
 计算机科学与技术
 湖畔文学
 真缘不夜天
 湖畔艺术
 湖畔科技
 本站留言
热门关键字:    dreamlandcn.com    蓝色湖畔
 >>相关文章
·为什么OO很恶心
·Translateit 过期无
·依赖注入安全操作
·Memcached分布式缓存技
·JavaScript数组操作汇
·ZIP压缩实现程序示例
·Visual Studio 2
·visual studio模板
·经典的asp代码分享
·ASP文件无组件直接上传功能
 >>点击排行TOP10
·多种排序算法,多种语言讲解(前言)
·多种排序算法,多种语言讲解(简单选
·多种排序算法,多种语言讲解(堆排序
·多种排序算法,多种语言讲解(快速排
·【其它欣赏】少儿不宜的设计
·多种排序算法,多种语言讲解(冒泡排
·多种排序算法,多种语言讲解(树形选
·VC中使用GetModuleFil
·C#中DataSet绑定XML的代
·多种排序算法,多种语言讲解(希尔排
·【其它欣赏】一辆卡车车身广告引发P
·多种排序算法,多种语言讲解(交换排
·多种排序算法,多种语言讲解(直接插
·如何使用 Visual Basic
·多种排序算法,多种语言讲解(总结)
 
 当前位置:网站首页 > 计算机科学与技术 > .net编程 > C#.net > 浏览正文
C#实现修改显示器分辨率和刷新频率的功能
作者:佚名    来源:本站原创    点击数:   更新时间:2008年08月23 【字体:

下面的代码实现修改显示器分辨率和刷新频率的功能:

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);
}
}
}

 

 

Tags:dreamlandcn.com
Google
 
关于我们 | 服务指南 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 诚征英才  | 友情链接
Powered by ACTCMS 2.0
Copyrights©2008-2009 蓝色湖畔 www.dreamlandcn.comAll Rights Reserved.