zoukankan
html css js c++ java
C#中改变显示器的分辨率和刷新率
下面的代码实现修改显示器分辨率和刷新频率的功能:
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 );
}
Windows Form Designer generated code
#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
);
}
}
}
查看全文
相关阅读:
Beta 冲刺 (5/7)
Beta 冲刺 (4/7)
Beta 冲刺 (3/7)
软件产品案例分析(团队)
Beta 冲刺 (2/7)
Beta 冲刺 (1/7)
BETA 版冲刺前准备
Alpha事后诸葛(团队)
设计模式——访问者模式
设计模式——命令模式
原文地址:https://www.cnblogs.com/wy/p/209573.html
最新文章
Alpha冲刺一 (9/10)
Alpha冲刺一 (8/10)
Alpha冲刺一(7/10)
Alpha冲刺一 (6/10)
Alpha冲刺一 (5/10)
Alpha冲刺 (4/10)
团队现场编程实战
Alpha 冲刺 (3/10)
BETA版冲刺前准备
alpha事后诸葛亮
热门文章
alpha答辩总结
alpha冲刺10/10
alpha冲刺9/10
alpha8/10
alpha冲刺7/10
alpha6/10
团队作业-随堂小测(同学录)
alpha冲刺5/10
Beta 冲刺 (7/7)
Beta 冲刺 (6/7)
Copyright © 2011-2022 走看看