失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C#查询显示器得刷新频率

C#查询显示器得刷新频率

时间:2019-05-04 21:45:05

相关推荐

C#查询显示器得刷新频率

查询显示器得刷新频率。

一、手工操作

windows10系统,开始(右键)—系统—显示—高级显示设置—查看刷新频率和分辨率

二、使用C#查询

public enum DMDO

{

DEFAULT = 0,

D90 = 1,

D180 = 2,

D270 = 3

}

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]

public 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 int dmBitsPerPel;//颜色质量,如32位,24位public int dmPelsWidth;//分辨率宽度,如1024public int dmPelsHeight;//分辨率高度,如768public int dmDisplayFlags;public int dmDisplayFrequency;//刷新频率,如75Hz}[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);//返回当前图形模式信息public DEVMODE getResolution(){DEVMODE dm = new DEVMODE();dm.dmSize = (short)Marshal.SizeOf(typeof(DEVMODE));bool mybool;mybool = EnumDisplaySettings(null, -1, ref dm);string x = dm.dmDisplayFrequency.ToString();return dm;}

如果觉得《C#查询显示器得刷新频率》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。