| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Смена разрешения на 2 и более мониторах |
| Автор: Ashkana 11.11.2010, 13:44 | ||
| О смене разрешения написано много, однако везде разрешение меняется на единственном мониторе. Возникла задача менять разрешение на 2 и более мониторах.
Код должен работать и не работает. Разрешение не меняется. Почему ? Спасибо. |
| Автор: ama_kid 11.11.2010, 16:21 |
| Взял исходник http://www.delphimaster.ru/articles/display/index.html, доработал напильником для своей двухмониторной системы (особо не вникал в суть, правда), проверил - вроде работает - на обоих монитора независимо выставляет разрешения. Забирай в аттаче и сравнивай что не так с твоим вариантом. |
| Автор: Ashkana 13.11.2010, 17:27 | ||||
Спасибо БОЛЬШОЕ. Работает. Отличие от того примера который был в том , что указывается номер режима , не а разрешение. Было:
Есть только один вопрос - если 2 дисплей не активен - не стоит галка в свойствах экрана "Расширить рабочий стол на этот монитор", то разрешение меняется - ChangeDisplaySettingsEx возвращает DISP_CHANGE_SUCCESSFUL, но экран не загорается. Для того чтобы он стал активен необходимо изменить флаг DISPLAY_DEVICE_ATTACHED_TO_DESKTOP . Как изменить не могу понять ? Спасибо. |
| Автор: Ashkana 13.11.2010, 17:42 |
| Вопрос не праздный. Есть такая ситуация многократно описанная пользователями и не имеющая решения на сегодняшний день. Существуют видеокарты ATI 5700 и 5800 серии позволяющие подключить три (!) монитора к одной видеокарте , два по DVI и еще один по DisplayPort . При использовании существует одна особенность - после полного выключения питания ( перезагрузка не влияет ) при включении система отключает первые 2 монитора подключенные по DVI и выставляет на 3 мониторе не первичное разрешение. Т.е. при каждом включении питания ОС видит монитор подключенный по DisplayPort как "в первый раз". Приходится активизировать в свойствах экрана первые два монитора, выставлять первичное разрешение на мониторе подключенном по DisplayPort и заново расставлять значки на трех мониторах. Компьютер используется художником, поэтому 3 монитора не роскошь в данном случае. Спасибо. |
| Автор: ama_kid 13.11.2010, 18:18 |
| Ashkana, к сожалению, я буду на работе, где у меня двухмониторная система, только в понедельник. Пока на вскидку нагуглил только http://www.autohotkey.com/forum/topic21800.html с активным обсуждением. Там пробуют разные варианты с переменным успехом. Попробуй пройти по их стопам, если не поможет - на следующей неделе попробуем что-нибудь еще. |