C#中改變顯示器的解析度 (轉)
C#中改變顯示器的解析度 (轉)[@more@]中改變顯示器的解析度 作者: 孟憲會 出自: .sz.luohuedu/">【孟憲會之精彩世界】 釋出日期: -7-24 17:35:01
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System..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 dmVersion;
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 overr void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows FoDesigner 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);
}
}
}
下面的程式碼實現修改顯示器解析度和重新整理頻率的功能:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-960841/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WinPE中如何改變檔案顯示圖示
- javascript如何獲取顯示器的解析度JavaScript
- C# 設計時動態改變實體在PropertyGrid中顯示出來的屬性C#
- 瀏覽器模擬顯示器不同解析度瀏覽器
- 21.5寸顯示器多大長寬多少 21.5寸顯示器最佳解析度多少
- 改變歸檔模式,顯示歸檔資訊模式
- thinkphp控制器變數在模板中顯示PHP變數
- js和cookie取得顯示器解析度程式碼JSCookie
- 關於Spyder在高解析度顯示器下的選單圖示顯示不正確問題
- 透過程式碼改變客戶端所顯示的語言型別 (轉)客戶端型別
- 動態改變actionbar的menu選單MenuItem的顯示UI
- IOS APP安裝後不在桌面顯示圖示、改變圖示等iOSAPP
- c# winform旋轉顯示繪畫C#ORM
- linux 改變文字模解析度Linux
- Omdia:軟體定義的汽車中基於顯示器的人機介面正在徹底改變駕駛體驗
- 用CSS來改變網頁滑鼠顯示樣式的方法CSS網頁
- vue-element 選擇框 選擇值改變,顯示不變Vue
- 動態改變螢幕設定 解析度、顏色等。 (轉)
- 電腦解析度怎麼調最佳win10 顯示器解析度多少最好Win10
- 19寸顯示器長寬多少釐米多大 19寸顯示器怎麼設定解析度最合理
- 23.8英寸顯示器長與寬是多少釐米 23.8英寸顯示器解析度多少合適
- 根據不同的顯示器解析度使用不同樣式檔案
- 通過 VGA 介面連線顯示器時解析度不正確
- 【轉】OAuth的改變OAuth
- 如何獲取當前顯示其的解析度
- Solaris10在VMWARE下改變解析度
- Win10電腦雙屏顯示器設定不同解析度的方法Win10
- win10解析度和顯示器不匹配該怎麼辦Win10
- jQuery 點選按鈕改變可用狀態和顯示文字jQuery
- 【IDL】同時顯示不同解析度影像的方法
- Visual C# .NET 2003 語言的改變 (轉)C#
- react native拖動上方顯示值,改變背景顏色的sliderReact NativeIDE
- oracle縱向顯示變為橫向顯示Oracle
- WPF/C#:在DataGrid中顯示選擇框C#
- C#在Winform中改變Textbox高度三種方法C#ORM
- 直接在程式中更改顯示模式 (轉)模式
- Polygon:暴雪過去的6個月 顯示出一個正在迅速改變的公司Go
- Win10系統螢幕解析度無法調節顯示“未檢測到其他顯示器”如何解決Win10