是否可以在AutoHotKey中确定窗口是否具有滚动功能/交互



为了在更少的按钮上进行更多操作,我希望检测窗口是否具有滚动功能。例如,当弹出窗口询问您是否要保存某个内容时,它通常默认为"否"。该窗口没有任何与鼠标滚轮操作相关的功能。在这个范围内,我计划让鼠标滚轮上下输入上下方向。也许有一种方法可以检测窗口是否启用了滚动?或者可能还有其他工作,比如弹出窗口有一个特定的windows类?

看看这里答案中的GetScrollBarInfo函数我如何使用他的HWND检查窗口是否有可见的滚动条?对于一些有用的信息,但在我看来,最简单的方法是捕获窗口类并相应地启动鼠标滚轮,就像#if帮助中的例子一样,除非你需要一个正确的WinTitle(使用弹出窗口类(而不是识别任务栏,并且你将在鼠标滚轮中发送tabalt+tab,而不是音量控制:

#If MouseIsOver("ahk_class Shell_TrayWnd")
WheelUp::Send {Volume_Up}
WheelDown::Send {Volume_Down}
MouseIsOver(WinTitle) {
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}

https://www.autohotkey.com/docs/commands/_If.htm

Hth,

最新更新