2009-02-27 2 views
5

Я использую ноутбук в качестве основной рабочей станции. Иногда я работаю один на этом, но значительная часть времени я нахожусь на своем офисном столе, и я подключаю внешний монитор для увеличения рабочего пространства.Автоматизация установки двойного монитора в Vista

Каждый раз, когда я выполняю это действие, я нажимаю те же диалоговые окна в Windows Vista, чтобы настроить двойной экран и поместить его в окно. Это похоже на повторяемую задачу, которую я мог бы автоматизировать.

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

Какая программа может это сделать? Я не нашел много онлайн, что касается. Я думаю о попытке сценария autohotkey или API доступности Windows с помощью PowerShell. Эта проблема уже решена?

Уточнение: я специально планирую автоматизировать шаги, которые я использую с помощью мыши, которые вызывают базовую функциональность в Windows Vista.

  1. правой кнопкой мыши на рабочем столе
  2. Выберите Настроить в контекстном меню
  3. настройки Нажмите Дисплей
  4. Нажмите монитор # 2, затем нажмите флажок «Расширить рабочий стол на этот монитор»
  5. Нажмите и перетащите монитор # 2 слева от монитора # 1
  6. Нажмите OK, чтобы закрыть диалоговое окно
  7. Нажмите «Да» в следующем всплывающем окне, чтобы принять эти настройки монитора

Update: Windows 7 делает это автоматически

Я просто повышен до Windows 7 и вспомнил мои двойные настройки монитора. Я поставил их на работу, как указано выше, затем отключил и работал дома в выходные. Я пришел в понедельник утром, загрузился, подключился и зашел! Это просто сработало. Спасибо Windows 7!

ответ

0

Вот я, три года спустя, отвечая на мой собственный вопрос! Ура!!!

Это легко запрограммировать с http://www.autohotkey.com

Вот пример скрипта для замены между одним монитором и двумя мониторами с Windows + 1 и Windows + 2. AutoHotKey также позволяет изменять поведение кликов и перетаскивания, которые необходимы для замены положения второго монитора.

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 
#Warn ; Recommended for catching common errors. 
SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 
#1:: 
Send {LWin} 
WinWaitActive Start menu 
Send Adjust Screen Resolution 
Send {enter} 
WinWaitActive Screen Resolution 
ControlClick ComboBox3 
Send {PgDn} 
Send {Up} ; Select "Show desktop only on 1" 
Send {enter} 
Sleep 3000 ; workaround - cannot select accept/revert window? 
Send {left} 
Send {enter} ; accept changes 
Return 
#2:: 
Send {LWin} 
WinWaitActive Start menu 
Send Adjust Screen Resolution 
Send {enter} 
WinWaitActive Screen Resolution 
ControlClick ComboBox3 
Send {PgDn} 
Send {Up} 
Send {Up} ; Select "Extend these displays" 
Send {enter} 
Sleep 3000 ; workaround - cannot select accept/revert window? 
Send {left} 
Send {enter} ; accept changes 
Return 
+0

Если у вас есть карта ATI, Catalyst имеет встроенную функциональность. Настройте конфигурацию, сохраните ее и назначьте ей глобальную горячую клавишу. – Brian

0

Попробуйте UltraMon для отличной поддержки двух мониторов. Я использую его в течение многих лет на нескольких ноутбуках и настольных компьютерах, и он отлично работает. Я только использовал XP, поэтому я не уверен, как это работает с Vista.

+0

Я использовал UltraMon некоторое время назад. Моя цель - автоматизировать конфигурацию экрана, я не знаю, как просто запускать программу, и UltraMon автоматически настраивает мои мониторы на заранее определенную конфигурацию. Есть некоторые щелчки, верно? – a7drew

+0

Хорошая точка. Нажимая на ultramon, я не вижу настройки для настройки дисплеев таким образом. Он делает больше с точки зрения настройки окна. – slolife

0

My Leovo T60p делает это автоматически без каких-либо специальных действий. Попробуйте обновить свои видеодрайверы и проверьте сайт производителя для любых утилит, которые могут это сделать.

0

Если у вас есть Windows Vista или 7 вы могли поразить windows_key + P. У вас есть куча вариантов для выбора в том числе расширить

+0

Это может отразиться на подключенном мониторе, верно? Я не уверен, что это поможет с №5 в моем списке: перетащить дополнительный монитор в левую часть моего монитора ноутбука. – a7drew

0

Я считаю, что UltraMon бы на самом деле работы. В меню правой кнопки мыши на значке Ultramon в systray имеется команда «отключить/включить вторичную».

Я думаю, вы могли бы просто:

  1. подключить второй монитор
  2. выбрать «включить вторичный»
1

Я не видел существующую программу, которая делает это, но это было бы довольно легко писать, используя API Win32.Через this page, EnumDisplayDevices получает список устройств отображения, EnumDisplaySettingsEx получает текущие настройки, а ChangeDisplaySettingsEx внесет изменения.

Поле DEVMODE.dmPosition должно содержать виртуальные координаты верхнего левого угла дисплея, причем основным монитором всегда является (0,0), а остальные - относительно него.

Инструмент понадобится в двух режимах, первый сохранит текущие настройки в файле конфигурации, а второй применит настройки из конфигурации. Я хотел бы хранить/извлекать только индекс устройства, имя и каждый из полей DEVMODE.dm *, упомянутых в документах ChangeDisplaySettingsEx. Текстовая конфигурация позволяет редактировать вручную.

Смежные вопросы