Сочетание клавиш для перемещения окна на другой экран

20

При работе с двумя (или более экранами) распространенная проблема заключается в том, что запущенные приложения отображаются на «неправильном» экране. Это особенно раздражает, когда я запускаю текстовый редактор из командной строки, потому что мне нужно покинуть домашний ряд правой рукой, чтобы перетащить окно на «правый» экран, прежде чем я смогу продолжить ввод.

Можно ли определить сочетание клавиш, которое перемещает текущее приложение на другой / следующий экран?

Изменить : я использую Windows XP, но приятно знать, что эта функция уже существует в Windows 7.


Edit2 : я пошел для сценария autohotkey . Эта адаптация работает для меня:

#q::
WinGetPos, winx, winy,,, A
WinGet, mm, MinMax, A
WinRestore, A
If (winx > 1270)
{
    newx := winx-1270
    OutputDebug, Moving left from %winx% to %newx%
}
else
{
    newx := winx+1270
    OutputDebug, Moving right from %winx% to %newx%
}

WinMove, A,, newx, winy

if mm=1
    WinMaximize, A
Return

Мне пришлось использовать операторы OutputDebug и dbgview, чтобы найти правильное пороговое значение 1270для перемещения влево или вправо. Точный порог особенно важен при перемещении развернутых окон влево.

wcoenen
источник

Ответы:

4

AutoHotkey! Это будет перемещаться между мониторами (два монитора 1680x1050, установите значение после, Loop,чтобы быть разрешение экрана каждого монитора / 10, если вы отличаетесь) на winkey (#) и q. Элемент управления ^, alt есть!, Shift это +, а буквы это буквы. Вы также можете использовать комбинации модификаторов.

#z:: ;Move the active window to the other monitor.
WinGetPos, winx, winy,,, A
WinGet, oldWin,ID,A
WinActivate, A
WinGet, mm, MinMax, A
WinRestore, A
If winx+5 >= 0 then
    mult=1
else
    mult=-1
WinMove,A,, winx-(1680*mult), winy
if mm=1
    WinMaximize, A
Return
Phoshi
источник
1
Это многообещающе, но цикл действительно медленный. Окно ползло по моему рабочему столу со скоростью улитки :-)
wcoenen
Скрипт также перемещает окно под указателем мыши вместо текущего активного.
wcoenen
Упс! У меня есть это на 4-й мыши и двойном щелчке, поэтому под мышкой лучше для меня, и ползать дело в том, что XP медленно перерисовывал окна. Это нормально на Vista и выше. Один момент, пожалуйста :)
Фоши
Правильно, отредактировал сценарий там, попробуйте это :)
Phoshi
58

Какую версию Windows вы используете? Windows 7 поставляется с встроенной поддержкой именно этого.

Win+ Shift+ left: Переместить сфокусированное окно на один монитор влево

Win+ Shift+ right: Переместить сфокусированное окно на один монитор вправо

РЕДАКТИРОВАТЬ : Для XP вы можете попробовать UltraMon . Помимо прочего, это позволит вам определить горячие клавиши для «Переместить окно к следующему монитору» и «Переместить окно к предыдущему монитору».

BENA
источник
1
Я чувствую себя новичком, потому что не знаю, что +1
Иво Флипс
Не по теме, но как ты сделал эти "кнопки"?
sYnfo
2
@sYnfo оберните «кнопку» в тег <kbd> </ kbd>
BenA
+1, спасибо за это. Я использовал Ultramon ранее, больше не нужно с этим.
Паук
2
ЭТО должно было быть выбрано в качестве ответа. Рад, что нашел это.
Благослови Яху
3

в других версиях окон вы можете щелкнуть правой кнопкой мыши на панели задач, выбрать «переместить», а затем с помощью клавиш со стрелками переместить окно в правильное окно ... Я упоминаю об этом только потому, что время от времени я случайно оставляю окно на неправильном мониторе, а затем, когда я использую свой ноутбук дома, я не вижу окно, потому что оно не на мониторе. Мне понадобилось время, чтобы понять это!


источник
1
Хотя в Windows7 вы не можете перейти из меню панели задач, вы все равно можете перемещать окна с помощью сочетаний клавиш: Ctrl + Пробел, а затем M, клавиши со стрелками и, наконец, Enter. en.wikipedia.org/wiki/…
Роланд Пихлакас
Исправление: в Windows 7 вы можете перейти с панели задач - ИспользованиеShift + Right Click
Amit
1

Если у вас нет Windows 7, вы можете попробовать DisplayFusion . Бесплатная версия позволяет настраивать горячие клавиши для перемещения окон на следующий монитор и ряд других полезностей.

Чарльз Савойя
источник