实现目标:双击关闭Chrome标签页(相较于 MaxAlex的版本 ,只保留双击关闭标签,不然滚轮滚多了会弹窗)。
——————————————————————————————————————————————————
备注:
2024年7月更新:解决Windows 11 Chrome浏览器在最大化时双击无法关闭浏览器标签的bug。
操作系统:Windows11 Chrome浏览器版本:126.0.6478.183(正式版本) (64 位)
前言:
在很多国产浏览器中自带有双击关闭浏览器标签功能,连微软的edge都跟进了这项功能,然而chrome似乎总是不听劝。chrome浏览器要想实现此功能,只能借助第三方插件或软件。经过调研,最终选择autohotkey实现。一方面这个软件免费,且轻量化;另一方面,除了实现双击关闭chrome标签页功能,autohotkey还可以自定义很多实用的功能,比如按键映射,快捷键启动特定软件,任务栏滚动鼠标调节音量等等。唯一可能的缺点是autohotkey需要一点编程基础,至少得看得懂代码,但这个缺点在有了chatgpt的今天,似乎已经不成问题。
功能实现
脚本使用步骤见之前写的一篇文章
《AutoHotKey实现双击Chrome标签位置关闭标签页(ChatGPT辅助编写》,简单来说,共四步:
1.安装atuohotkey v1.1(最新的版本为v2.0,语法有更新,还没时间研究,现在使用的是v1.1。);
2.新建一个文本文档,更改任意名字,比如为test.ahk;
3.使用记事本或其他文本编辑软件打开test.ahk,在其中输入如下代码;
4.右键test.ahk, 选择使用autohotkey打开。
;【20240723】双击关闭Chrome标签;修复无法在Windows11中在chrome最大化时无法双击关闭Chrome标签bug(仍存在双击chrome顶端栏放大缩小浏览器的时候,会关闭最近一个标签页)。
; ============================================================
#NoEnv
#SingleInstance force
IniRead, doubleclick, settings.ini, option, doubleclick, Check
menu, tray, Standard
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
退出:
ExitApp
return
ToggleDoubleClick:
doubleclick := doubleclick = "Check" ? "UnCheck" : "Check"
IniWrite, %doubleclick%, settings.ini, option, doubleclick
return
#IfWinActive ahk_class Chrome_WidgetWin_1
~LButton::
if (doubleclick = "Check" && A_PriorHotkey = "~LButton" && A_TimeSincePriorHotkey < 250) {
WinGetPos, , , w, h, A
MouseGetPos, xpos, ypos
WinGet, Mom, MinMax
; 获取Chrome窗口中标签栏的位置
ControlGetPos, cx, cy, cw, ch, Chrome_RenderWidgetHostHWND1, A
; 确保双击事件发生在标签栏区域
if ((Mom = 0 && ypos > 45 && ypos < 90) || (Mom = 1 && ypos > 28 && ypos < 60)) {
; 检查双击的水平位置是否在标签栏内(大致判断)
if (ypos < cy + ch && xpos > 0 && xpos < w) {
send ^w
}
}
}
Return
#IfWinActive
EmptyMem(PID="AHK Rocks") {
pid := (pid = "AHK Rocks") ? DllCall("GetCurrentProcessId") : pid
h := DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "Int", pid)
DllCall("SetProcessWorkingSetSize", "UInt", h, "Int", -1, "Int", -1)
DllCall("CloseHandle", "Int", h)
}
致谢&参考脚本:
【1】本脚本根据 MaxAlex 发表的《Chrome 81 双击关闭标签页终极解决方案》修改,特此感谢。
【2】感谢“不停、”提出的此脚本存在的bug:双击放大缩小浏览器的时候,会关闭最近一个标签页。目前我还不知道怎么解决这个问题,欢迎各位帮忙提出debug方案(2024年7月更新,这个bug依然存在)。
Enjoy!
不知道谷歌什么时候可以自己把这个功能加进去。