DEVMODE dm;
bool f = EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
// dm.dmDisplayFrequency = 60; // 60
dm.dmDisplayFlags = DM_DISPLAYFREQUENCY;
LONG i = ChangeDisplaySettings(&dm,0);
if (i == DISP_CHANGE_SUCCESSFUL) ;;;;
if (i == DISP_CHANGE_BADMODE) ;;;;
return 0;
ChangeDisplaySettings
Код:
Не зависимо от изменения параметров dm, функцией ChangeDisplaySettings возвращается результат DISP_CHANGE_BADMODE.
В МСДН по этому поводу ничего полезного нет. http://msdn2.microsoft.com/en-us/library/ms533260.aspx
Возможно:
Код:
dm.dmDisplayFlags |= DM_DISPLAYFREQUENCY;
Цитата: Nixus
Если я правильно понял, ты хочешь менять частоту оставляя текущее разрешение экрана.
Возможно:
Возможно:
Код:
dm.dmDisplayFlags |= DM_DISPLAYFREQUENCY;
Результат аналогичен предыдущему.
На самом деле, хочу я поменять текущий режим экрана, а продемонстрировать этим примером хотел, что у меня независимо от изменения параметров, возвращенных
Код:
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
, то есть при попытке сменить только частоту, только цветность, или не менять ничего (!) в текущем режиме экрана, функцией
Код:
ChangeDisplaySettings(&dm,0);
P.s. Установка режима, возврещенного, используя
Код:
EnumDisplaySettings(NULL,2(3,4,5,6...),&dm);
Код:
dm.dmFields = DM_DISPLAYFREQUENCY;
Спасибо большое! Интересно, что ни в МСДН ни во встроенной справке я этого не увидел.