So I’ve got an enumerated list of display settings from EnumDisplaySettings. I pick one with a high frequency and do a ChangeDisplaySettings in test mode and it returns successful. I do a ChangeDisplaySettings into fullscreen and it returns successful but for very high refresh frequencies (around 120 Hz or so) the monitor shuts down before the window comes up. All other frequencies and resolutions work, and low resolutions (800x600) work fine at 120 Hz.
I’m wondering if anyone else has any idea what might be going on here? I could exclude a couple of these frequencies artificially from the list, but that seems like a bad idea.
If it matters, this is on a Win2k machine.
Perhaps your monitor can’t support the resolution+refresh rate you are trying to switch to?
Yes, I’m pretty sure that’s the problem. Why the computer enumerates these bad modes and considers it a valid switch is the problem. Ideally, one would not like to provide modes that cause the monitor to shut down (although you can restart it by reverting to windowed mode obviously).
Anyway, it could be a bad series of monitors as well, which misreport acceptable frequencies. I’d just like to not assume that.
I’m not sure if this exists in Windows 2000, pretty sure it does as well as in other Windows Operating Systems. There is usually an option somewhere in the Display Settings (usually under advanced) that allows you to hide invalid refresh rates/resolutions. Usually this is checked by default but it doesn’t have to be. It sounds like this option affects the enumerated display settings as well. Try turning this option on and seeing what display settings you get. Don’t know for sure but it’s worth a try.
Hope this helps.