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);
}
}
}
分享到:
相关推荐
显示器分辨率是衡量显示设备清晰度的重要指标,它指的是屏幕上像素的数量。在计算机领域,显示器分辨率通常用宽度和高度的像素数来表示,如1920x1080(通常称为1080p)或3840x2160(也称作4K分辨率)。分辨率越高,...
标题中的"EnumMonitor(分辨率)"指的是一个用于枚举和管理计算机显示器分辨率的程序或库。在Windows操作系统中,开发者可以通过编程接口(API)来获取和设置显示器的分辨率信息。"显示器分辨率"是屏幕显示图像清晰度...
这个“labview获取【显示器分辨率】.zip”文件包含了一个名为“labview获取【显示器分辨率】.vi”的虚拟仪器(VI),其目的是用来获取并显示电脑显示器的当前分辨率。 LabVIEW中的VI是基于图标和连线的编程方式,...
PowerStrip-v3.90 是一款专为电脑用户设计的高级显示器配置软件,它提供了对显示器分辨率、颜色深度、刷新率等关键参数的精细控制。这款工具允许用户根据自己的需求自定义显示器的设置,超越了操作系统内置的显示...
Console.WriteLine($"主显示器分辨率为 {primaryScreen.Bounds.Width}x{primaryScreen.Bounds.Height}"); ``` 当你需要根据显示器分辨率自动调整Form中的控件布局时,可以利用窗体的Load事件或Resize事件。在这些...
显示器分辨率自动调节器是一个显示器分辨率自动修改工具,可以依照计算机名称动态的改变显示器的分辨率、刷新率和桌面背景图案的程序。把配置文件当做电子表格来修改,也可以通过自带的记事本、写字板等文本编辑工具...
Linux 下显示器分辨率及刷新率设置 本文将详细介绍 Linux 下显示器分辨率及刷新率的设置,包括查看显卡相关信息、显示器分辨率及刷新率的设置两大部分。 一、查看显卡相关信息 在 Linux 下,查看显卡相关信息可以...
1.添加单元到工程 Project==》Add To Project... 选择uMyClassHelpers.pas单元,点击打开。 2.需要自动适应分辨率的单元(们)需要修改如下: 例 TForm1 = class(TForm)改为 TForm1 = class(TfdForm)
这里提到的“显示器分辨率明暗调用软件控制”就是一种解决方案,主要针对的是显示器设置的软件替代方法。PowerStrip是一款非常实用的显示配置工具,它允许用户在操作系统级别控制显示器的各种参数。 PowerStrip 是...
在电脑使用过程中,显示器分辨率是影响视觉体验的重要因素之一。分辨率切换是指根据用户需求或应用场景,改变电脑显示器显示内容的像素数量,以达到更清晰、更舒适或者更高效的视觉效果。本文将深入探讨电脑显示器...
更改显示器分辨率更改实例应用,可应用主机更改显示的各种分辨率,用可以任意设置。
设置显示器分辨率涉及到更复杂的操作,因为这通常需要用户的确认,并且不是所有系统都允许程序直接更改。不过,可以通过ChangeDisplaySettings API来尝试改变。首先,声明API函数和相关的结构: ```vb Private ...
在VB090504-得到显示器分辨率的项目中,我们主要探讨如何利用Visual Studio 2008这一强大的开发工具获取计算机显示器的分辨率信息。这个知识点在软件开发,尤其是用户界面设计时非常关键,因为正确地适应不同显示器...
在Windows操作系统中,可以通过以下步骤来查看和更改显示器支持的分辨率: 1. 右键点击桌面,选择“显示设置”。 2. 在设置界面,向下滚动到“缩放与布局”部分,找到“分辨率”选项。 3. 在分辨率下拉菜单中,可以...
修改屏幕分辨率可能需要管理员权限,尤其是在Windows Vista及更高版本的系统中。确保你的应用程序有足够的权限执行这样的操作,否则可能会遇到权限错误。 8. **兼容性测试**: 因为涉及到硬件和系统的交互,所以...
通过检测访问者的显示器分辨率,开发者可以做出相应的调整,比如改变页面布局、图片大小、字体大小等,从而提高网站的响应速度和视觉效果,增强用户的满意度。 ### 实现方法:JavaScript检测 目前,最常用的方法是...
首先,我们需要了解的是Windows API,它是Windows操作系统提供的函数库,包含了大量的系统功能,比如更改显示器分辨率。由于.NET Framework并没有提供直接修改显示器分辨率的方法,所以我们需要借助P/Invoke...
在VB.NET编程环境中,获取显示器分辨率是一项常见的任务,特别是在开发涉及用户界面的程序时。本文将详细介绍如何使用VB.NET和Visual Studio 2008来实现这一功能。 首先,我们需要了解显示器分辨率的基本概念。...
显示器分辨率是衡量显示设备清晰度的重要指标,它指的是屏幕上像素的数量。分辨率越高,屏幕上显示的信息就越细腻,图像质量也更佳。"显示器分辨率快速设置小工具"是一款实用的应用程序,旨在帮助用户快速调整电脑...
在Windows操作系统中,有时我们需要更改显示器的分辨率以适应不同的显示需求,例如测试软件兼容性、演示或优化视觉体验。"修改分辨率的工具.zip" 文件提供了一种自动化的方式来实现这一目标,它包含了一个bat脚本和...