MFC 设置指定显示器的分辨率
1、首先使用vs2013创建一个MFC的示例工程,如下图所示,VS2013的工程创建向导可以简单的创建
2、然后我们先来了解一下如何获取屏幕分辨率的接口,如下图所示,在msdn上找到这个接口,通过这个来获取屏幕原来的分辨率
3、然后我们再来了解一下如何设置屏幕分辨率的接口,如下图所示,在msdn上找到这个接口,通过这个来设置屏幕的分辨率
4、关于设置分辨率的参数如何设置,请参考下图的结构体的变量的注释,如下图所示,将这些变量的注释了解一下
5、如下图所示,在程序的源文件中,加上如下代码就可以设置屏幕的分辨率了,非常简单
6、将下面的示例代码放到一个按钮的点击事件就可以了,参考代码如下:int Width = GetSystemMetri艘早祓胂cs(SM_CXSCREEN); int Height = GetSystemMetrics(SM_CYSCREEN); DEVMODE lpDevMode0; lpDevMode0.dmBitsPerPel = 32; lpDevMode0.dmPelsWidth = Width; lpDevMode0.dmPelsHeight = Height; lpDevMode0.dmSize = sizeof(lpDevMode0); lpDevMode0.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL; DEVMODE lpDevMode; lpDevMode.dmBitsPerPel = 32; lpDevMode.dmPelsWidth = 1366; lpDevMode.dmPelsHeight = 768; lpDevMode.dmSize = sizeof(lpDevMode); lpDevMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL; LONG result; result = ChangeDisplaySettings(&lpDevMode, 0); if (result == DISP_CHANGE_SUCCESSFUL) { ChangeDisplaySettings(&lpDevMode, CDS_UPDATEREGISTRY); } else { ChangeDisplaySettings(NULL, 0); }