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
);
}
}
}
查看全文
相关阅读:
MacBook下java环境的搭建
Mac 终端下Homebrew的几个常用命令(新手笔记)
新手学Appium_Python_Client
【转】pycharm的一些快捷键
解决YUM下Loaded plugins: fastestmirror Determining fastest mirrors 的问题
chrome扩展第三方浏览器下载安装
php异或加密解密算法的实现
TortoiseGit客户端密钥配置
CURL重试发送请求
关于接收POST请求 $GLOBALS['HTTP_RAW_POST_DATA']
原文地址:https://www.cnblogs.com/wy/p/209573.html
最新文章
Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方
linux下RAR和ZIP安装和使用
Linux安装卸载JDK完整步骤
雷电模拟器中无法登录微信且抖音等视频类应用无法观看视频
git 创建分支 并 提交到远程分支
手机按键精灵常用命令
算法成神之路,请看这一篇!
[08] 需要留意的一些东西
[07] 延迟加载
[05] 动态SQL
热门文章
[06] 利用mybatis-generator自动生成代码
[04] 高级映射 association和collection
[03] mapper.xml的基本元素概述
[02] mybatis-config.xml 全局配置文件解析
[01] MyBatis概述
[01] 初识SpringBoot:Hello World
WIN 10系统下,在DOS窗口输入Java或者javac出现乱码的解决方法
WIN 10环境下JDK的安装和环境配置
在Linux中批量修改字符串的命令
MacBook下配置android adb命令使用环境
Copyright © 2011-2022 走看看