Как я могу развернуть окно на нескольких мониторах? - PullRequest
14 голосов
/ 22 марта 2012

Использование AutoHotkey. Как связать горячую клавишу, чтобы растянуть / развернуть / развернуть окно на нескольких мониторах, чтобы оно охватывало оба дисплея?

Прямо сейчас я должен сделать это вручную, растягивая окна с помощьюмышь.Я знаю, что есть специальные инструменты, которые делают это, но я уже запускаю скрипт AutoHotkey и предпочел бы ограничить количество инструментов, которые я продолжаю запускать.

Ответы [ 3 ]

21 голосов
/ 23 марта 2012

Вот как я это сделал, сопоставив комбинацию Shift + Windows + Up, чтобы развернуть окно на всех дисплеях.Это дополняет горячую клавишу Windows 7 Windows + Up, которая максимально увеличивает выбранное окно.

+#Up::
    WinGetActiveTitle, Title
    WinRestore, %Title%
   SysGet, X1, 76
   SysGet, Y1, 77
   SysGet, Width, 78
   SysGet, Height, 79
   WinMove, %Title%,, X1, Y1, Width, Height
return
5 голосов
/ 29 июля 2013

Я знаю, что этот поток немного староват, но это, безусловно, лучший «бесплатный» способ развернуть максимизацию на нескольких мониторах, которые мне удалось найти. Я использовал его сейчас на обеих Windows 8 и 7 64-битных системах, и этот макрос, вероятно, станет частью моего набора инструментов по умолчанию :) Спасибо огромное.

И причина, по которой я публикую сообщения, заключается в том, что я немного изменил его, чтобы восстановить окно до одного размера монитора, так как после запуска макроса UP вам придется вручную перетаскивать окно обратно на одну подпрограмму. размер монитора при желании. Для этого я добавил комбо shift + windows + down. Вероятно, это можно было бы сделать лучше, если вспомнить старую позицию окон, но я не являюсь экспертом по автоматическим переключателям, и это работает для моих целей ... (вы также можете изменить «A_ScreenWidth, A_ScreenHeight», чтобы сказать 800, 600, чтобы что-то меньшее работало с помощью и отрегулируйте 0,0 для центрирования экрана, скажем, 300 200)

Используйте компилятор exe autohotkey, и у вас есть переносимый exe для использования на другом ПК. (то есть мой офисный компьютер будет нормально работать с exe, но мне понадобилась бы учетная запись администратора для установки полной программы: D)

+#Up::
    WinGetActiveTitle, Title
    WinRestore, %Title%
   SysGet, X1, 76
   SysGet, Y1, 77
   SysGet, Width, 78
   SysGet, Height, 79
   WinMove, %Title%,, X1, Y1, Width, Height
return

+#Down::
    WinGetActiveTitle, Title
    WinRestore, %Title%
   WinMove, %Title%,, 0, 0, A_ScreenWidth, A_ScreenHeight
return
4 голосов
/ 23 марта 2016

У меня есть два монитора на работе и дома с моей панелью задач слева, поэтому мне нужно было настроить этот скрипт, чтобы он правильно перемещал окно.

+#Up::
    WinGetActiveTitle, Title
    WinRestore, %Title%
   SysGet, Mon1, MonitorWorkArea, 1 
   SysGet, Mon2, MonitorWorkArea, 2 
   Monitor1Width := Mon1Right - Mon1Left
   Monitor2Width := Mon2Right - Mon2Left
   MonitorsWidth := Monitor1Width + Monitor2Width
   SysGet, Height, 79
   WinMove, %Title%,, %Mon1Left%, %Mon1Top%, %MonitorsWidth%, %Mon2Bottom%
return

+#Down::
    WinGetActiveTitle, Title
    WinRestore, %Title%
   SysGet, Mon2, MonitorWorkArea, 1
   Monitor1Width := Mon2Right - Mon2Left
   WinMove, %Title%,, %Mon2Left%, %Mon2Top%, %Monitor1Width%, %Mon2Bottom%
return
...