15

Представь, что ты делаешь это ...

  1. Подключите ваш внешний монитор.
  2. Запустите несколько приложений, некоторые на каждом мониторе.
  3. Отключите внешний монитор.
    • Все хорошо, потому что все приложения перемещают основной монитор.
  4. Повторно подключите внешний монитор.
    • Приложения остаются на основном мониторе, но было бы очень хорошо, если бы они вернулись к внешнему монитору, на котором они были раньше.

Использование Windows 10. Существуют ли какие-либо решения или обходные пути для автоматического перемещения приложений обратно на внешний монитор?

7 ответов7

1

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

Сначала установите программу UltraMon . Затем, когда он работает, скажем прямо сейчас, у вас подключен только один монитор (неважно, номер), создайте профиль:

  • Щелкните правой кнопкой мыши значок в системном окне.
  • Левый клик Показать профили
  • Щелкните левой кнопкой мыши новый профиль отображения, назовите его (например, я назначу ему число, отражающее количество используемых вами мониторов, например, профиль 1).
  • Теперь у вас есть один. Круто, вы можете создавать обои для каждого монитора, заставки и т.д. Получите все ваши значки так, как вы хотите.
  • Щелкните правой кнопкой мыши значок systray.
  • Щелкните левой кнопкой мыши на значках рабочего стола.

Теперь подключите / отключите другие дисплеи. Создайте профиль для этой новой настройки. Возможно, назовите его "Профиль 7", чтобы подключить 7 мониторов. Теперь сохраните позиции значков, когда они будут такими, как вы хотите.

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

Наконец, в дополнительных опциях вы можете указать UltraMon делать это все время, автоматически для вас, но для этого может потребоваться платная версия (единовременный платеж).

Я купил UltraMon в 2009 году за 19,99 долларов, и это стоило того.

1

В прошлом я использовал для этого инструмент Autohotkey, называемый Windowpad. По-видимому, теперь это было заменено новой, улучшенной версией под названием WindowPadX. Прокрутите вниз, чтобы увидеть файл readme. Полная документация здесь.

Это было важно для меня на нескольких мониторах. Мне нравилось легко переключаться между окнами.

Вы можете установить горячие клавиши для следующего (из файла readme):

Возможные действия для горячих клавиш

Оконные действия

Multi-Monitor

WPXA_MoveWindowToMonitor: перемещать окно между экранами, сохраняя относительное положение и размер.

WPXA_MinimizeWindowsOnMonitor: свернуть все окна на данном экране

WPXA_GatherWindowsOnMonitor: "Собирать" окна на определенном экране.

WPXA_FillVirtualScreen: разверните окно, чтобы заполнить виртуальный экран (все мониторы).

генеральный

WPXA_MaximizeToggle: развернуть или восстановить окно.

WPXA_TopToggle: переключает "AlwaysOnTop" для данного окна

WPXA_RollToggle: переключает "Roll/Unroll" для данного окна. WPXA_Move: перемещает и изменяет размер окна, основываясь на концепции "pad".

WPXA_TileLast2Windows: плитка активна и последнее окно

Действия с несколькими мониторами мыши

WPXA_MoveMouseToMonitor: перемещает мышь в центр заданного монитора

WPXA_ClipCursorToCurrentMonitorToggle: переключает обрезку мыши на текущий монитор

WPXA_ClipCursorToMonitor: обрезает (ограничивает) мышь для данного монитора

Общие действия мыши

WPXA_MouseLocator: легко найти мышь

Вы можете найти его и другие инструменты среди «Кураторского списка потрясающих библиотек AutoHotkey, дистрибутивов библиотек, скриптов, инструментов и ресурсов» здесь

0

Некоторые графические процессоры поддерживают это, например, панель управления Nvidia, которая позволяет применять настройки для этого и многих других функций.

Или вы можете просто установить несколько параметров отображения для отражения рабочего стола (вместо расширения) на всех мониторах, если это работает для вас.

0

Программы Windows, называемые в настоящее время приложениями (lication), могут сохранять положение своего окна в файле или реестре. Если кто-то знает, где находятся эти данные, их можно редактировать вручную в блокноте или редакторе реестра. (неправильные записи реестра могут вызвать нестабильность или ошибки Windows)

Создание автоматизированного способа должно быть простым для тех, кто имеет немного навыков кодирования, и его можно запускать по мере необходимости (т.е. после повторного подключения монитора). Это может быть сделано с помощью сценария действия, файла .bat или собственного приложения.

Заявки должны быть закрыты до этого, хотя для того, чтобы желаемые позиции были реализованы.

Другая возможность с возможностью "онлайн" (перезапуск приложения не требуется) была бы, если бы Windows позволяла получать доступ к окну одного процесса другим. Подходом могут быть функции SendMessage и WindowProc.

(Я не уверен в этом моменте, если это относится только к потокам родительского приложения или может быть сделано также потоками других приложений ... и, конечно, требует хороших знаний в программировании для Windows)

https://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

Отправляет указанное сообщение окну или окнам. [...] Если указанное окно было создано вызывающим потоком, оконная процедура вызывается немедленно как подпрограмма. Если указанное окно было создано другим потоком, система переключается на этот поток и вызывает соответствующую оконную процедуру.

Сообщение WM_Move https://docs.microsoft.com/en-us/windows/desktop/winmsg/wm-move

Отправляется после того, как окно было перемещено.

Окно получает это сообщение через функцию WindowProc.

https://msdn.microsoft.com/en-us/library/ms633573%28v=VS.85%29.aspx?f=255&MSPPError=-2147217396

Определяемая приложением функция, обрабатывающая сообщения, отправленные в окно. [...]

0

Для этого не существует никаких решений, вы должны использовать клавишу Windows на клавиатуре со стрелками влево и вправо, чтобы перемещаться между экранами, или клавишу Windows + Shift + Влево / Вправо, чтобы перейти к частям экрана.

Windows key + P также помогает в ситуациях с несколькими мониторами, помогая с зеркалированием / расширением и т.д.

Но опять же, как только вы отключите экран, если в этих окнах есть какие-либо метаданные, они исчезнут после

-1

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

Другим решением является использование DisplayFusion для привязки окна к ближайшему монитору (подключен только один) с помощью горячей клавиши "Переместить все окна на текущий монитор".

-2

Вы можете сделать это, если вы старый "клавишник", как я; -] Я понял это много лет назад, так как я был multi-mon с начала 90-х, это была очень давняя проблема, среди немного разные интерфейсы.

Самый простой способ, который я нашел для приложений вне экрана / границ, это:

  • Просто выберите приложение через панель задач или Alt - Tab
  • Удерживая клавишу Alt, нажмите пробел (Alt - Пробел)
  • Вы увидите меню, на главном экране (ах), одним из вариантов которого будет "Переместить", с подчеркнутой буквой "М".
  • Таким образом, нажмите клавишу "М", пока меню все еще находится на сцене.
  • На этом этапе не указывайте / не нажимайте / и т.д., Поскольку вы сейчас "перемещаете" активное окно (закадровое).
  • Вы можете перетаскивать мышь (НИКАКИХ КНОПКИ НА СЕЙЧАС), и вы должны увидеть, как приложение входит / выходит из главных экранов, достаточно для того, чтобы разместить его где-то более удобным для использования.
  • Кроме того, вы можете использовать клавиши со стрелками для перемещения приложения, работает так же хорошо, но немного медленнее, чтобы выяснить, где окна и в каком направлении они движутся.
  • Когда у вас есть окно в "хорошем месте", где его можно активно изменить или переместить, либо нажмите кнопку основной мыши, либо, если вы используете метод клавиатуры, нажмите клавишу "Ввод".
  • Окно / приложение теперь должно легко перемещаться / настраиваться.
  • Повторите для всех окон / приложений, которые находятся за пределами экрана.

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