使用AHK添加滚轮切换标签页的功能

使用AHK添加滚轮切换标签页的功能

Edge和Chrome经常被诟病的一点是无法像火狐一样使用滚轮快捷切换标签页,导致多标签浏览起来非常麻烦,但浏览器扩展又受限于Mainfest V3无法操作标签页。

之前笔者介绍过使用WindHawk模块来实现滚轮切换标签页,但为了这个简单的功能去安装庞大的框架实在是不划算。实际上,借助AutoHotKey,可以更轻量地实现这个功能。

首先去官网下载AutoHotKey,推荐下载比较新的V2版本。安装时必须使用默认位置。

安装后点击New Script创建新脚本。

输入自定义名称,点击右侧按钮选择脚本保存位置(最好放在一个固定位置,防止被误清理),下方脚本类型选择Minimal for v2

点击Edit打开编辑器,粘贴以下代码(编辑器顶部的#Requires AutoHotkey v2.0不要修改)。

#SingleInstance Force

; 只有在 Edge 浏览器窗口活动时生效
#HotIf WinActive("ahk_exe msedge.exe")

~<!--MATH_PH_1-->WheelDown::
{
    ; 设置坐标模式为相对于当前活动窗口
    CoordMode "Mouse", "Window"
    MouseGetPos(&x, &y, &id)
    
    ; 获取当前窗口的宽度和高度
    WinGetPos(,, &width, &height, "ahk_id " id)

    ; 判定逻辑:
    ; 1. y < 80:鼠标在窗口顶部的标签栏高度范围内
    ; 2. x > 0 且 x < width - 350:鼠标在窗口的左边界和右边界之间(排除三按钮的350px)
    if (y > 0 && y < 80 && x > 0 && x < (width - 350))
    {
        if (A_ThisHotkey = "~$WheelUp")
            Send("^+{Tab}") ; 切换到上一个标签
        else
            Send("^{Tab}")  ; 切换到下一个标签
    }
}

#HotIf

这里着重讲讲这行代码的逻辑。

if (y > 0 && y < 80 && x > 0 && x < (width - 350))

标签页是一块长条矩形区域,需保证y坐标[0,80],x坐标[0,width](均为相对于Edge窗口的坐标)。由于三按钮(最小化/最大化/关闭)挤占了一些空间导致width错位,因此需用坐标(width-350)。

注:80、350这些参数需根据屏幕实际情况测试,不要盲目套用。

双击脚本或快捷方式即可运行脚本,此时任务栏托盘菜单出现AHK图标,如图所示。

脚本代码中加入了#SingleInstance Force,确保只有一个实例生效,因此修改脚本后直接再次双击运行即可测试新参数的效果。

在Edge全屏和非全屏窗口测试完成后,填入对应的参数,保存并关闭当前脚本,为脚本创建快捷方式,放入[启动]文件夹以实现开机自启。

[启动]文件夹打开方式:Win+R运行命令shell:startup,将刚才创建的快捷方式放入即可。此时打开任务管理器-启动标签页,可见已加入开机自启动列表。


相关网站

编辑于 2026-01-29 · 著作权归作者所有