Вопрос или проблема
Я использую конфигурацию с двумя мониторами и Windows 10. Я хочу иметь возможность нажимать клавишу и отправлять текущее окно в конкретное закреплённое положение.
По сути, то, что делает этот плагин https://github.com/BarRaider/streamdeck-windowsmover, но этот плагин предназначен для стримдек и у меня его нет.
Итак, скажем, я открываю cmd
или музыкальный плеер и нажимаю горячую клавишу, тогда они должны закрепиться на назначенных позициях на втором мониторе.
Я пытаюсь достичь этого с помощью autohotkey, но не могу заставить это работать (используя ChatGPT для генерации кода). Любая помощь в этом отношении будет полезна. Спасибо
Ответ или решение
Для автоматического позиционирования окон программ на втором мониторе в среде Windows 10 с использованием языка программирования AutoHotkey, вам понадобится выполнить несколько шагов. Этот метод позволит вам отправлять активные окна в заданные позиции на втором экране с помощью горячих клавиш. Давайте рассмотрим этот процесс более подробно.
Шаг 1: Установка AutoHotkey
Если у вас еще не установлен AutoHotkey, вам необходимо загрузить последнюю версию с официального сайта и установить ее на ваш компьютер.
Шаг 2: Создание скрипта
После установки AutoHotkey создайте новый текстовый файл с расширением .ahk
и откройте его в текстовом редакторе. В этом файле мы будем описывать необходимые команды.
Шаг 3: Написание кода
Для того чтобы перемещать активное окно, вы можете использовать следующий скрипт. В этом примере мы будем перемещать окно на второй монитор в определенное положение (например, в правом верхнем углу):
#Persistent ; Держит скрипт работающим
#NoEnv ; Избегаем использования переменных окружения
; Привязываем горячую клавишу к действию. В данном случае используем Ctrl + Alt + M
^!m::
; Получаем информацию о текущем активном окне
WinGetActiveTitle, activeWindowTitle
; Параметры для координат второго монитора (можно изменить под себя)
secondMonitorX := 1920 ; X координата (плюс ширина первого монитора, например 1920 пикселей)
secondMonitorY := 0 ; Y координата (нужное значение по вертикали)
; Перемещаем и изменяем размер активного окна
WinMove, %activeWindowTitle%, , secondMonitorX, secondMonitorY, 800, 600 ; размер может быть изменен
return
Шаг 4: Запуск скрипта
Сохраните изменения в файле и дважды щелкните на созданный скрипт. Теперь, когда вы откроете окно, например, командной строки или музыкального плеера, и нажмете сочетание клавиш Ctrl + Alt + M
, активное окно переместится в заданную позицию на втором мониторе.
Шаг 5: Настройка координат
Вам может потребоваться изменить secondMonitorX
, secondMonitorY
, а также размеры окна в команде WinMove
, чтобы они соответствовали вашему конкретному расположению и размерам мониторов. Для этого воспользуйтесь следующими подсказками:
-
Измерьте разрешение вашего монитора: Если у вас разрешение 1920×1080 для первого монитора и вы используете его в горизонтальной ориентации, второй монитор, скорее всего, будет начинаться с X координаты 1920 (или больше, если применены дополнительные настройки размещения).
-
Позиция окна: X и Y координаты определяют левый верхний угол окна на экране. В нашем примере
secondMonitorY
равен 0 — это означает, что окно будет размещено в верхней части. Вы можете задать другую Y координату, чтобы переместить окно вниз.
Заключение
Таким образом, используя AutoHotkey, вы можете эффективно перемещать окна в вашем двойном мониторе под управлением Windows 10. Данная настройка улучшит вашу продуктивность, позволяя быстро организовать рабочее пространство без необходимости вручную перетаскивать окна.
Если у вас есть дополнительные вопросы или потребности в настройках, вы всегда можете обратиться к документации AutoHotkey или сообществу, где много полезной информации по улучшению ваших скриптов.