C#中改变显示器的分辨率

news/2023/12/9 15:32:48
C#中改变显示器的分辨率
作者: 孟宪会 出自: 【孟宪会之精彩世界】 发布日期: 2003-7-24 17:35:01

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

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




http://www.niftyadmin.cn/n/3656502.html

相关文章

Redis深入 —— 持久化和事务

前言 最近的学习中,荔枝深入了解了Redis的持久化、Redis事务相关的知识点并整理相应的学习笔记,在这篇文章中荔枝也主要梳理了相应的笔记和基本知识,小伙伴们如果需要的话可以看看哈。 文章目录 前言 一、Redis持久化 1.1 RDB 1.1.1 Redi…

检测客户端显示器分辨率、浏览器类型和客户端IP

检测客户端显示器分辨率、浏览器类型和客户端IP 作者: 孟宪会 出自: 【孟宪会之精彩世界】 发布日期: 2003-7-24 17:33:48 下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session&#xff0…

guava之eventbus(一)

现在如今眼目下,开源程序库越来越多,程序员们很多时候都不需要自己造轮子,就可以找到称心如意的开源库进行使用。虽然我们在使用各种各样的开源代码时,并不需要知道这些代码是如何实现的。但是了解它们的实现方法,不仅…

创建固定表头、表格体滚动的DataGrid

创建固定表头、表格体滚动的DataGrid孟子E章在使用DataGrid时&#xff0c;有时候需要表头表头固定、表格体的内容可以滚动&#xff0c;下面的代码就是实现这个功能的代码。查看例子ShowFixedHeader.aspx<% Page Language"vb" EnableViewState"False" Au…

深度学习之手写数字识别

当我们开始学习编程的时候&#xff0c;第一件事往往是学习打印"Hello World"。就好比编程入门有Hello World&#xff0c;机器学习入门有MNIST。 MNIST是一个入门级的计算机视觉数据集&#xff0c;它包含各种手写数字图片&#xff1a;它也包含每一张图片对应的标…

在XSL中得到任意节点在DOM树中的深度

在XSL中得到任意节点在DOM树中的深度孟子E章要在XSL中得到任意节点的在XML DOM树中的深度&#xff0c;可以通过计算节点的祖先&#xff08;ancestors&#xff09;的数量得到。下面就是具体实现的例子。TestNodeDeep.xml<?xml version"1.0" encoding"UTF-8&q…

Top30机器学习精选开源项目

1. FastText&#xff1a;快速文本表示和文本分类库&#xff08;Github上有11786颗星&#xff0c;贡献者Facebook Research&#xff09; 源码链接&#xff1a;github.com/facebookres…2. Deep-photo-styletransfer&#xff1a;“Deep Photo Style Transfer” 这篇论文的源码和数…

在ASP.NET中将数据直接输出成Excel内容

在ASP.NET中将数据直接输出成Excel内容本文实现了将数据库中的数据直接输出到Excel文件格式并在浏览器里输出。下面就是实现的例子&#xff1a;查看例子ExcelExport.aspx<% Page Language"vb" AutoEventWireup"false" Codebehind"ExcelExport.aspx…

为DataGrid添加自动编号功能

为DataGrid添加自动编号功能http://lucky_elove.www1.dotnetplayground.com/下面的代码实现在DataGrid中添加自动编号的功能&#xff0c;主要是在数据绑定时利用Item属性。查看例子DataGridWithLine.aspx<% Page Language"vb" AutoEventWireup"false" C…

在DataGrid里添加确认删除的对话框

在DataGrid里添加确认删除的对话框http://lucky_elove.www1.dotnetplayground.com/在删除数据前进行确认是一个非常友好的做法。在本文里&#xff0c;我们就讨论利用TemplateColumn和Button服务端控件实现这种功能的方法。查看例子DeleteIt.aspx<% Page Language"vb&qu…

Spring Boot深入原理 - SpringApplication启动流程

我们知道&#xff0c;如果不需要特殊的配置&#xff0c;只需要在main方法里调用SpringApplicatio.run&#xff08;&#xff09;方法即可启动Spring Boot应用&#xff1a;public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, …

利用HtmlGenericControl类,动态改变Title文字

利用HtmlGenericControl类&#xff0c;动态改变Title文字【孟宪会之精彩世界】HtmlGenericControl类可以创建服务器端控件&#xff0c;以映射到相应的HTML元素&#xff0c;而不被.NET框架类所转换。比如等。下面的例子就是利用HtmlGenericControl类动态创建Title元素的。Change…

Netty入门(一):零基础“HelloWorld”详细图文步骤

因为接下来的项目要用到netty,所以就了解一下这个程序&#xff0c;奈何网上的教程都是稍微有点基础的&#xff0c;所以&#xff0c;就写一篇对于netty零基础的&#xff0c;顺便也记录一下。先扔几个参考学习的网页&#xff1a; netty 官方API&#xff1a; http://netty.io/4.1/…

创建跨多列、多行表头的DataGrid

创建跨多列、多行表头的DataGrid孟子E章在使用DataGrid时&#xff0c;有时候需要表头跨列、多行&#xff0c;下面的代码就是实现这个功能的代码。查看例子ShowColSpanHeader.aspx<% Page Language"vb" AutoEventWireup"false" Codebehind"ShowColS…

为DataGrid添加CheckBox控件

为DataGrid添加CheckBox控件 http://lucky_elove.www1.dotnetplayground.com/查看例子CheckBoxDataGrid.aspx<% Page Language"vb" AutoEventWireup"false" Codebehind"CheckBoxDataGrid.aspx.vb" Inherits"aspxWeb.CheckBoxDataGrid&qu…

让你的Mozilla支持XML数据岛

让你的Mozilla支持XML数据岛由于Mozilla没有内建的机制支持XML数据岛&#xff0c;但是Mozilla提供了对DOM的支持&#xff0c;我们可以通过DOM访问XML数据岛中节点、属性等。 下面就是一个比较全面的例子&#xff1a;XML{WIDTH: 0px;HEIGHT: 0px;DISPLAY: none;} <script lan…
最新文章