我正在寻找获取所有支持的分辨率的方法。获取所有支持的屏幕分辨率
搜索这里一些解决方案后,我得到这个代码的工作:
#include "Windows.h"
#include <Windows.h>
#include <iostream>
using namespace std;
int main()
{
DEVMODE dm = { 0 };
dm.dmSize = sizeof(dm);
for(int iModeNum = 0; EnumDisplaySettings(NULL, iModeNum, &dm) != 0; iModeNum++ )
{
cout << "Mode #" << iModeNum << " = " << dm.dmPelsWidth << "x" << dm.dmPelsHeight << endl;
}
int age;
cin>>age;
}
我有2个问题与此代码:
当运行它,我得到的相同的分辨率一遍又一遍。 例如:Mode0,Mode1,Mode2 ..... Mode17都是:320x200
当使用Gui并查看可用分辨率时,我没有320x200作为选项。我看到我的计算机支持600×800和上,但运行这个小exe文件时,我也看到了400×300,320×240等。
谁能帮助和建议吗? 谢谢!
不要忘记频率。 – chris
你是什么意思的频率? – user1386966
可以在不同模式下以相同分辨率合理变化的其他字段:'dmDisplayOrientation','dmDisplayFixedOutput','dmDisplayFlags' – MSalters