Not sure if the devs know how to do poll the display adapter for supported resolutions, but here's a rough example on how easy it is in DirectX under c# (pretty sure if you could program a game, you could convert this to the c++ equivalent):
note: Adapters[0] = first display adapter (your main display adapter). You could use this code to support multiple displays as well. [1] = 2nd display, [2]=third and so on.
note 2: using Microsoft.DirectX.Direct3D;
Code:
private void CheckVideo()
{
Console.WriteLine("Supported resolutions:");
foreach (DisplayMode displayMode in Manager.Adapters[0].SupportedDisplayModes)
{
int video = bit(displayMode.Format);
switch (video)
{
case 32: // 32 bit color. use default case for others, or add in a case switch of 16, 8 or whatever you need.
{
Console.WriteLine("{0}x{1}", displayMode.Width, displayMode.Height); // display resolutions
}
break;
default:
break;
}
}
}
private int bit(Format x)
{
char[] y = (x.ToString()).ToCharArray();
int sum = 0;
for (int z = 0; z < y.Length; z++)
{
if (Char.IsNumber(y[z]))
{
sum += Convert.ToInt32(y[z].ToString());
}
}
return sum;
}
Like I said, it's a rough example. This will actually force you to list all possible video modes, so you'll likely see the same resolution multiple times. I used this to make a third-party program for Morrowind.