winapi - 更改显示器的分辨率不起作用

时间:2015-10-08 11:00:29

标签: c++ qt winapi

我尝试使用win32调用ChangeDisplaySettings来改变我的显示分辨率,方法如下:

DEVMODE devmode;
devmode.dmPelsWidth = 1024;
devmode.dmPelsHeight = 768;

long result = ChangeDisplaySettings(&devmode, DM_PELSWIDTH || DM_PELSHEIGHT);
qDebug() << "RESULT OF CHANGE DISPLAY :"<< result;

我总是得到相同的结果值-2,表示&#34;存储在注册表中的显示模式&#34;。此信息的来源如下:

http://www.codeproject.com/Articles/36664/Changing-Display-Settings-Programmatically

这里的问题是我的决议永远不会改变。知道为什么我不能这样做吗?

1 个答案:

答案 0 :(得分:1)

使用Window API时,请务必咨询MSDN

这应该有效:

DEVMODE devmode;
devmode.dmPelsWidth = 1024;
devmode.dmPelsHeight = 768;
devmode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
devmode.dmSize = sizeof(DEVMODE);

long result = ChangeDisplaySettings(&devmode, 0);