Бесплатный переключатель конфигурации Multi-Monitor для Windows 7

У меня есть три монитора, которые я регулярно использую в двух конфигурациях:

  • Дублированный экран на A и B
  • Расширенный экран на B и C

Поскольку я часто переключаюсь между этими двумя конфигурациями, ручная настройка через диалоговое окно разрешения экрана Win 7 стоит мне времени.

Мне нужен простой инструмент со следующими функциями:

  • Позволяет сохранять конфигурации нескольких мониторов для последующего повторного использования.
  • Позволяет быстро переключаться между предварительно сохраненными конфигурациями
  • Предпочтительно: Позволяет делать переключение с помощью горячих клавиш
  • Работает на Windows 7
  • Бесплатно или очень низкая разовая цена (<10$/€)

DisplayFusion и UltraMon — хорошие инструменты, но они имеют множество функций, которые мне не нужны, по более высокой цене, чем та, которую я ищу. Я надеялся найти бесплатную или дешевую альтернативу, которая сделает за меня только одну задачу (переключение монитора).

Не уверен, что оконный менеджер тега здесь правильный. Если нет, пожалуйста, удалите его.
Является ли сценарий (PowerShell), выполняющий эту работу, приемлемым решением?
Насколько я могу судить (не имея 3-х мониторов для проверки), вы можете использовать для этого DisplaySwitch (встроенный инструмент Win7). Подобно тому, как «DisplaySwitch /duplicate» должен делать первое, «DisplaySwitch /off /internal /extended» должно делать другое.

Ответы (2)

Я узнал, что текущий Catalyst Control Center имеет функцию быстрого переключения между конфигурациями монитора через меню в трее. У меня работает очень хорошо, но очевидно, что это решение ограничено графическими картами от ATI.

Это неуклюжий обходной путь с использованием AutoHotKey на случай, если вы не нашли прямого ответа. Вы можете использовать сценарий, чтобы повторить шаги ручного переключения макетов. Последовательность может отличаться от системы к системе, поэтому я перечислю инструкции вместе с примером сценария, который работает на моем:

  1. Откройте окно «Разрешение экрана» и нажмите (на клавиатуре) номер экрана, который вы хотите изменить. 2Например
  2. Подсчитайте, сколько Tabнажатий требуется, чтобы открыть меню «Несколько дисплеев» . Этот номер будет меняться в зависимости от режима, в котором он уже находится.
  3. Используйте первую букву пункта меню, чтобы выбрать его. Eдля расширения , Dдля дублирования и т.д...
  4. Снова посчитайте, сколько Tabнажатий требуется, чтобы дойти до кнопки ОК.

Когда у вас есть все переменные, используйте их для изменения раздела конфигурации этого скрипта AutoHotKey:

;; Configuration

myWinTitle := "Screen Resolution"      ;; Title of the window
dSequence := "2{Tab 4}d{Tab 6}{Enter}" ;; Key sequence for duplicating displays
eSequence := "2{Tab 2}e{Tab 8}{Enter}" ;; Key sequence for extending displays

;; End of configuration section

#NoEnv 
SendMode Input 
SetTitleMatchMode, 2

#+d::
  Run control desk.cpl
  IfWinNotActive, %myWinTitle%, , WinActivate, %myWinTitle%, 
  WinWaitActive, %myWinTitle%,
  Send %dSequence%
  return

#+e::
  Run control desk.cpl
  IfWinNotActive, %myWinTitle%, , WinActivate, %myWinTitle%, 
  WinWaitActive, %myWinTitle%,
  Send %eSequence%
  return

Горячая клавиша Win+ Shift+ Dтеперь должна переключаться на дублированные дисплеи (быстро повторяя ваши шаги), а Win+ Shift+ Eдолжна переключаться обратно на расширенные дисплеи.

Скорее всего, есть более чистые способы сделать это, напрямую отредактировав ключи реестра. Я обновлю скрипт, если разберусь.

Спасибо за работу, но вряд ли это оптимальное решение. :)
@atticae Я согласен. Это скорее обходной путь, чем решение, но это лучше, чем ничего. Я с радостью удалю его, если будет опубликован лучший ответ
Ни в коем случае, оставь это здесь. Если я когда-нибудь перейду на карту Nvidia, она мне может понадобиться. ;)
Спасибо за ответ, однозначно не удаляйте!