查询显示器得刷新频率。
一、手工操作
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#查询显示器得刷新频率》对你有帮助,请点赞、收藏,并留下你的观点哦!