ahk吧 关注:873贴子:2,703
  • 3回复贴,共1

求助:如何限定提示框ToolTip只在任务栏上显示?

只看楼主收藏回复

脚本情况:
写了一个在任务栏使用滚轮调节音量大小的脚本,滚轮滚动调节音量的时候,会有对应的提示框提醒现在的音量大小。
问题:
目前在任何地方只要滚动滚轮都会弹出提示框显示音量大小(只要不是在任务栏上滚动滚轮,音量都不变,但是在别的软件里用滚轮,提示框会一直跳出来)
求助:
应该些什么参数才能把提示框限定死在任务栏上,在别的地方(如别的软件里),滚动滚轮不会弹出提示框?
代码如下:
global NextWhellTime := A_TickCount
RemoveToolTip:
ToolTip
return
;
MouseIsOver(WinTitle) {
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}
WheelDown::
If (MouseIsOver("ahk_class Shell_TrayWnd"))
SoundSet,-1
Else
MouseClick,WD
;以下为提示框--------------
NextWhellTime := A_TickCount ;刷新激活时间
SoundGet, master_volume;以提示方式显示当前音量
master_volume := Floor(master_volume)
ToolTip, Vol:%master_volume%
SetTimer, RemoveToolTip, -3000
;以上为提示框--------------
Return
WheelUp::
If (MouseIsOver("ahk_class Shell_TrayWnd"))
SoundSet,+1
Else
MouseClick,WU
;以下为提示框--------------
NextWhellTime := A_TickCount ;刷新激活时间
SoundGet, master_volume;以提示方式显示当前音量
master_volume := Floor(master_volume)
ToolTip, Vol:%master_volume%
SetTimer, RemoveToolTip, -3000
;以上为提示框--------------
Return
MButton::
If (MouseIsOver("ahk_class Shell_TrayWnd"))
Send,{Volume_Mute}
Else
MouseClick,Middle
;以下为提示框--------------
NextWhellTime := A_TickCount ;刷新激活时间
SoundGet, master_volume;以提示方式显示当前音量
master_volume := Floor(master_volume)
ToolTip, Sound Off
SetTimer, RemoveToolTip, -3000
;以上为提示框--------------
Return


IP属地:广东1楼2022-03-17 12:18回复
    把提示框的部分放在else前边,记得把if和else之间的 所有内容用大括号括起来,举例:
    WheelDown::
    If (MouseIsOver("ahk_class Shell_TrayWnd"))
    {
    SoundSet,-1
    NextWhellTime := A_TickCount ;刷新激活时间
    SoundGet, master_volume ;以提示方式显示当前音量
    master_volume := Floor(master_volume)
    ToolTip, Vol:%master_volume%
    SetTimer, RemoveToolTip, -3000
    }
    Else
    MouseClick,WD
    Return


    IP属地:湖北2楼2022-03-17 17:30
    收起回复
      广告
      立即查看
      WheelDown::Volume_Down
      WheelUp::Volume_Up
      MButton::Volume_Mute
      会不会好用点?


      IP属地:湖南3楼2022-03-28 21:17
      回复