Como bien dice MaxExtreme con un bucle que se ejecute hasta que la funcion devuelva 0 se obtienen los diferentes valores. Evidentemente subestime el poder de esta funcion
Código:
DWORD refresh()
{
DEVMODE devMode;
DWORD maxAvailable = 0;
for (int x = 0;; x++)
{
if (EnumDisplaySettings(0, x, &devMode))
{
if (devMode.dmDisplayFrequency > maxAvailable) { maxAvailable = devMode.dmDisplayFrequency; }
}
else { break; }
}
return maxAvailable;
}