Ahk 怎么实现多屏幕在任务栏滚动滚轮调节音量,以及设置音量调节幅度为1

不懂 ahk,我目前的代码如下,Windows 平台下有两个问题:

  • Send {Volume_Up} 调节音量的步长为 2,希望为 1
  • 在多屏幕时,只能在主屏幕任务栏调节音量,副屏幕不行
#If MouseIsOver("ahk_class Shell_TrayWnd")
    WheelUp::Send {Volume_Up}
    WheelDown::Send {Volume_Down}

MouseIsOver(WinTitle) {
    MouseGetPos,,, Win
    return WinExist(WinTitle . " ahk_id " . Win)
}

是有问题,默认应该是1递增的,实际是2。如果非要+1,这样呢:

MouseIsOver(WinTitle){
	MouseGetPos,,, Win
	Return WinExist(WinTitle . " ahk_id " . Win)
}

#If MouseIsOver("ahk_class Shell_TrayWnd")
    WheelUp::
		; Send {Volume_Up 1}
	    SoundSet, +1
	    SoundGet, _var_sound
	    SetTimer, Timer4tip, 1000
	    ToolTip, % Round(_var_sound)
    Return

    WheelDown::
		; Send {Volume_Down 1}
	    SoundSet, -1
	    SoundGet, _var_sound
	    SetTimer, Timer4tip, 1000
	    ToolTip, % Round(_var_sound)
    Return
#If

Timer4tip:
	SetTimer, Timer4tip, Off
	ToolTip
Return

副屏你查下还是不是ahk_class Shell_TrayWnd

#If MouseIsOver("ahk_class Shell_TrayWnd") or mouseisover("ahk_class Shell_SecondaryTrayWnd") ;

win10下面副屏也是正常的。

1 个赞

那个,说句题外话,win11现在鼠标放在任务栏的音量图标上,就可以通过滚轮调节音量了。

2 个赞

太强了,完美解决第二个问题。

老哥有空能帮忙看看第一个问题吗?

可以考虑用MouseInc 我一直在用1.x版

直接用volume2多好呢,还是便携版,解压即用的,除了支持在任务栏滚轮调整声音外,还支持在侧边鼠标滚轮调整声音和亮度

二楼 crozt的回复,我这里测试是可行的。