【发布时间】:2018-01-21 10:30:04
【问题描述】:
我想simultaneously scroll two windows,但是热键输入法需要我重复多次。我的想法是使用Function Hotkeys 和A_ThisHotKey 变量,但是如果使用这个脚本,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 查看器中滚动页面
仅供参考:Send/SendRaw/SendInput/SendPlay/SendEvent: Send keys & clicks
How to grab the scrolling amount in one window?
也在 Reddit 上提问:How to simultaneously scroll two windows?
【问题讨论】:
-
我尝试使用
A_ThisHotKey,但它不起作用 -
您好,Ooker,如果有任何答案解决了您的问题,请随时将其标记为答案,这样该问题在搜索结果中就不再是“unanswered”了 :) - 如果没有足够的答案,请随时就您的具体问题发表评论和/或添加信息。
-
嗨@MarcusMangelsdorf,非常感谢您的努力。不幸的是,我还没有尝试过你的方法来完成这个项目。由于我还没有确认它是否有效,我认为接受它我认为这会对未来的观众产生误导。如果这不是问题,我愿意这样做,因为它更有可能起作用:)
标签: variables scroll scrollbar autohotkey code-duplication