using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace 解决分辨率
{
    public partial class Form1 : Form
    {
        //保存当前屏幕分辨率
        int i = Screen.PrimaryScreen.Bounds.Width;
int j = Screen.PrimaryScreen.Bounds.Height;
        public Form1()
        {
            InitializeComponent();
        }
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
        public struct DEVMODE
        {
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
            public string dmDeviceName;
            public short dmSpecVersion;
            public short dmDriverVersion;
            public short dmSize;
            public short dmDriverExtra;
            public int dmFields;
            public short dmOrientation;
            public short dmPaperSize;
            public short dmPaperLength;
            public short dmPaperWidth;
            public short dmScale;
            public short dmCopies;
            public short dmDefaultSource;
            public short dmPrintQuality;
            public short dmColor;
            public short dmDuplex;
            public short dmYResolution;
            public short dmTTOption;
            public short dmCollate;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
            public string dmFormName;
            public short dmLogPixels;
            public int dmBitsPerPel;
            public int dmPelsWidth;
            public int dmPelsHeight;
            public int dmDisplayFlags;
            public int dmDisplayFrequency;
        }
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        static extern int ChangeDisplaySettings([In] ref DEVMODE lpDevMode, int dwFlags);
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        static extern bool EnumDisplaySettings(string lpszDeviceName, Int32 iModeNum, ref DEVMODE lpDevMode);
        void ChangeRes()
        {

DEVMODE DevM = new DEVMODE();
            DevM.dmSize = (short)Marshal.SizeOf(typeof(DEVMODE));
            bool mybool;
            mybool = EnumDisplaySettings(null, 0, ref DevM);
            DevM.dmPelsWidth = 1024;//宽
            DevM.dmPelsHeight = 768;//高
            DevM.dmDisplayFrequency = 60;//刷新频率
            DevM.dmBitsPerPel = 32;//颜色象素
            long result = ChangeDisplaySettings(ref DevM, 0);
        }
        void FuYuan()
        {
            DEVMODE DevM = new DEVMODE();
            DevM.dmSize = (short)Marshal.SizeOf(typeof(DEVMODE));
            bool mybool;
            mybool = EnumDisplaySettings(null, 0, ref DevM);
            DevM.dmPelsWidth = i;//恢复宽
            DevM.dmPelsHeight =j;//恢复高
            DevM.dmDisplayFrequency = 60;//刷新频率
            DevM.dmBitsPerPel = 32;//颜色象素
            long result = ChangeDisplaySettings(ref DevM, 0);
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            ChangeRes();
        }

private void button1_Click(object sender, EventArgs e)
        {
            FuYuan();
            this.Close();
         
        }

转载于:https://blog.51cto.com/317057112/1859438

C# 代码调整屏幕分辨率相关推荐

  1. python获得屏幕分辨率多少合适_python调win32api调整屏幕分辨率

    在windows下想要通过python写的程序,需要调用到调整屏幕分辨率.在网上查到,需要用windows的api,ChangeDisplaySettings .在python下使用,需要先安装 py ...

  2. Ubuntu18.04调整屏幕分辨率至1920*1080

    Ubuntu18.04调整屏幕分辨率至1920*1080 文章目录 Ubuntu18.04调整屏幕分辨率至1920*1080 前言: 参考链接: 详细步骤: 前言: 当服务器插上了小分辨率的显示器之后 ...

  3. Virtualbox安装Kylin 10后调整屏幕分辨率无法选中保存按钮

    Virtualbox安装Kylin 10后调整屏幕分辨率无法选中保存按钮 Fred.li 2022-10-29 Virtualbox虚拟机安装Kylin 10后默认分辨率非800*600,使用起来极为 ...

  4. Ubuntu16.04如何调整屏幕分辨率至1920*1080

    1 引言 ubuntu16.04桌面版安装好后,发现屏幕分辨率调整选项里没有1920x1080这一选项,经过一番研究,可通过如下方式进行屏幕分辨率设置,以下操作均在ubuntu16.04桌面版操作.不 ...

  5. Ubuntu16.04调整屏幕分辨率至1920*1080

    安装好ubuntu 16.04桌面版后,发现屏幕分辨率调整选项里没有1920*1080这一选项,经过一番查找,可通过如下方式进行屏幕分辨率设置.以下操作均在ubuntu 16.04桌面版操作,不要用远 ...

  6. ubuntu16.04调整屏幕分辨率

    在虚拟机VMware中安装完Ubuntu系统后,发现屏幕只占据了很小的一个矩形位置,可以通过下面的操作设置合适的屏幕分辨率: 1.点击"系统设置" 2. 选择"Displ ...

  7. Linux下调整屏幕分辨率

    使用的命令:xrandr    cvt  (如果没有则通过相应的安装命令去安装) 查看当前屏幕分辨率列表 xrandr 设置屏幕分辨率 xrandr -s 1920x1080_60.00      ( ...

  8. Centos7 GNOME Desktop桌面版-调整屏幕分辨率

    调整屏蔽分辨率Applications->System Tools->Settings->Devices->Displays,调整Resolution即可,具体可见截图.

  9. 台式电脑怎么调分辨率_电脑怎样调整屏幕分辨率大小

    在使用电脑时,一些用户可能会碰到电脑屏幕分辨率不正常的情况,那么电脑屏幕分辨率怎么调呢?接下来就让我们一起来了解下吧. 先来了解下笔记本各个尺寸所对应的分辨率: 12.1寸 1280*800 13.3 ...

最新文章

  1. ubuntu部署eclipse兼容性问题
  2. MySQL的GROUP_CONCAT函数
  3. java原子操作cas_java并发编程系列二:原子操作/CAS
  4. 2010-04-25 搞定aftr
  5. 【Qt开发】Qt标准对话框之QMessageBox
  6. asp.net mvc View视图目录修改
  7. sql编程接收一个集合_T-SQL中基于集合的程序编程方法简介
  8. python转置列表代码_转置字典(从字典列表中提取一个键的所有值)
  9. 网站安全之为Web项目添加验证码功能(二)
  10. windows电脑连接公共wifi登陆界面无法弹出怎么办?
  11. VOT Toolkit工具配置和使用--Python版本
  12. Visual C++ 2008入门经典 Ivor Horton(书_在线阅读)
  13. 第二十五期 总结《路由器就是开发板》
  14. 搭建图片网站:通过cpolar发布图片网站 3/3
  15. Excel 表格实现多列排序
  16. AutoCAD命令大全
  17. DPU — Overview
  18. 有哪些原因会导致Facebook账号会被立刻封禁
  19. windows10神州网信政府版“麦克风”权限如何打开?
  20. MySQL数据库入门超级详细教程

热门文章

  1. 2011年11月27日学习内容总结
  2. 美国商务部发布软件物料清单 (SBOM) 的最小元素(下)
  3. 用GitHub Copilot 生成的项目中,40%会引入漏洞
  4. 谷歌研究员发现新的 iOS 安全系统
  5. 理解Angular的Reactive Form
  6. dyld Library not loaded @rpath libswiftCore dylib 解决
  7. 《iOS9开发快速入门》——第2章,第2.1节Xcode 7.0的新特性
  8. ios中数据存储方式
  9. linux man命令汉化 操作
  10. stm32时钟配置总结