Это можно сделать с помощью AutoHotkey magic, используя следующий скрипт, который должен быть сохранен в файле .ahk
для выполнения.
Дважды щелкните файл, чтобы запустить скрипт, остановите его, щелкнув правой кнопкой мыши на панели задач на зеленом значке "H" и выберите "Выход".
Скрипт написан для согласованной прокрутки двух окон.
Вы должны выбрать сначала окна для прокрутки, включая их одно за другим.
Скрипт дублирует следующие клавиши для скоординированной прокрутки:«Вверх», «Вниз», «Вверх», «Вниз».
Скрипт использует несколько горячих клавиш для инициализации.
Вы можете отредактировать его, чтобы использовать другие горячие клавиши или удалить ненужные.
Те, которые я выбрал, описаны ниже.
F1 : Starts a new group of windows
F2 : Includes the currently active window in the group
F3 : Shows the windows in the group even if minimized
F4 : Closes all windows in the group
Вот сценарий. Это сработало в моих тестах.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance Force
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Process, Priority, , High
SetWinDelay 0
g = 1 ; Used to generate unique group names
; Reload script to reinitialize all variables, since there is no delete group
f1::
Reload
return
; Add currently active window to the group
f2::
WinGet, active_id, ID, A
GroupAdd, grpname, ahk_id %active_id%
return
; Restore all windows in the group to be visible
f3::WinRestore, ahk_group grpname
return
; Close all windows in the group
f4::GroupClose, grpname , A
Reload
return
; This intercepts scroll keys on the active window and duplicates them on the other window
#IfWinActive ahk_group grpname
WheelUp::
WheelDown::
PgUp::
PgDn::
MouseGetPos, mX, mY ; remember mouse position in current window
Send {%A_ThisHotKey%}
GroupActivate grpname ; activate the next window of this group
If (A_ThisHotKey = "WheelUp" || A_ThisHotKey = "WheelDown")
MouseMove, 200, 200, 0 ; move the mouse over the currently active window
Send {%A_ThisHotKey%}
GroupActivate grpname ; Activate previous window
MouseMove, mX, mY, 0 ; Restore its mouse position
return