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 для перемещения влево или вправо. Точный порог особенно важен при перемещении развернутых окон влево.

4 ответа4

58

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

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

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

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

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
3

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

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .