Форум: "Система";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизНе могу разобраться с параметрами видеосистемы!!! Найти похожие ветки
← →
Alex10 (2003-11-03 10:30) [0]1.Как определить частоту экрана?
2.Возможно ли получить параметры (разрешение, частоту, глубину цвета) текущего видеорежима с помощью функции EnumDisplaySettings(nil, 0, DevMode)?
3.Как установить частоту экрана? Данный фрагмент не работает (т.е. выполняется без ошибок, но частота остается прежней):
ZeroMemory(@MonitorMode, SizeOf(TDevMode));
MonitorMode.dmSize := SizeOf(TDevMode);
MonitorMode.dmDisplayFrequency := 85;
MonitorMode.dmFields := DM_DISPLAYFREQUENCY;
ChangeDisplaySettings(MonitorMode, CDS_UPDATEREGISTRY);
P.S. В Windows XP срабатывает, не работает в Windows 98
4.Почему флаг CDS_GLOBAL не работает - меняются настройки только текущего пользователя:
ZeroMemory(@MonitorMode, SizeOf(TDevMode));
MonitorMode.dmSize := SizeOf(TDevMode);
MonitorMode.dmBitsPerPel := 16;
MonitorMode.dmPelsWidth := 1024;
MonitorMode.dmPelsHeight := 768;
MonitorMode.dmDisplayFrequency := 85;
MonitorMode.dmFields := DM_BITSPERPEL + DM_PELSWIDTH + DM_PELSHEIGHT + DM_DISPLAYFREQUENCY;
ChangeDisplaySettings(MonitorMode, CDS_GLOBAL + CDS_UPDATEREGISTRY);
Спасибо
← →
Woolen (2003-11-03 14:00) [1]1:
A := GetDc(0);
Rate := GetDeviceCaps(A,VREFRESH);
ReleaseDC(A);
Только в NT
← →
Woolen (2003-11-03 14:35) [2]2: Да.
← →
Woolen (2003-11-03 14:42) [3]3: А драйвер, видеоустройство и монитор, которые в 98 установлены поддерживают такую частоту при таком разрешениии глубине цвета? Рекомендую выяснять сначала допустимость таких установок при помощи EnumDisplaySettings, потом проверять текущее разарешение и глубину цвета, а потом сверять - есть ли среди полученных допустимых режимов подходящий, чтобы текущее разаршение и цвет сочетались с желаемой желаемая частотой.
← →
Woolen (2003-11-03 14:54) [4]3:
Забыл сказать. Неплохобы проверить результат работы функции, потому что по разным причинам возвращаются разные коды ошибки. Может это прольет свет на происходящую ошибку.
← →
Alex10 (2003-11-04 12:17) [5]Драйвера и устройства поддерживают те режимы - в ручную проставляются без проблем. В ХР тот же код работает корректно. Функция возращает значение 0 (т.е IDS_xxx_SUCCESLFULL)
← →
Alex10 (2003-11-04 12:21) [6]А КАК получить текущие настройки с помощью EnumDisplaySettings(nil, 0, DevMode)?
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c