Я хочу одновременно прокручивать два окна, но метод ввода горячих клавиш требует, чтобы я дублировал его несколько раз. Моя идея - использовать функциональные горячие клавиши и _ 1_, но WheelDown
отключен в программе при использовании этого сценария:
WheelDown::
ScrollKey := A_ThisHotKey
SetTitleMatchMode, 2
IfWinActive, Writer
{
CoordMode, Mouse, Screen
WinGet, active_id, ID, A
IfWinExist, Sumatra
{
Send {ScrollKey}
WinActivate ; Automatically uses the window found above.
Send {ScrollKey}
Send {ScrollKey}
WinActivate, ahk_id %active_id%
}
}
Else
{
Send {A_ThisHotKey}
}
return
Я хочу, чтобы ScrollKey
соответствовал WheelUp
, WheelDown
, PgUp
, PgDn
, Up
, Down
.
В идеале, я думаю, сценарий должен определять, сколько прокручивается первая программа, а затем применять это количество ко второй. Преимущества:
- Прокрутка будет плавной, так как другие программы прокручиваются в фоновом режиме.
- Нажатие на полосу прокрутки работает
- Различная скорость прокрутки не влияет на сравнение
- При перемещении строк в текстовых редакторах страницы в средствах просмотра PDF не прокручиваются.
FYI: Send / SendRaw / SendInput / SendPlay / SendEvent: отправка ключей и клики
Как получить количество прокрутки в одном окне?
Также спрашивают на Reddit: Как одновременно прокручивать два окна?
A_ThisHotKey
, но не работает - person Ooker   schedule 21.01.2018