版本:2.0-beta33
不知道是我操作不对,还是程序不太完美。
chrome虽然有surfingkeys等插件,但更喜欢MyKeymap的command模式。
需要频繁切换chrome多标签,资源管理器,(sublime完美适配,不做讨论)
【异常】
假如打开了tab-1,tab-2...
如果当前没有切换到tab-1,那么MyKeymap的“启动程序或激活窗口”
似乎查找不到tab-1,于是只能开新窗口
如果有人知道如何解决,就不用看下面啰嗦了。

** 【自己解决,方案1】**
把常用的10个标签都分开了。用了半天,受不了,因为把别的任务栏窗口挤得看不见了。
不得已还是把所有标签合在一起用。
【自己解决,方案2】
第1版,能切换,但是效率低,机制:
不停按ctrl+tab,切换标签,进行查找。效率低,而且窗口内容切换快,费眼睛。
第2版
本来以为是个简单需求,用DeepSeek愣是没搞出来,最后求助Gemini
大概是chrome有些安全机制,以及冷冻标签,所以找不到。
后来用的 chrome自带热键ctrl+shift+a
代码模拟按键,然后查找标签,找不到,再开对应网址。
#Requires AutoHotkey v2.0
#SingleInstance Force
ActivateTabOrOpenUrl(tabName, url) {
if (tabName == "") {
if (url != "")
Run('chrome.exe "' url '"')
return false
}
; 1. 检查 Chrome 是否运行
if !ProcessExist("chrome.exe") {
if (url != "")
Run('chrome.exe "' url '"')
return false
}
; 记录当前活动窗口
oldWin := WinExist("A")
; 2. 必须先将 Chrome 激活到前台
if WinExist("ahk_exe chrome.exe") {
WinActivate("ahk_exe chrome.exe")
if !WinWaitActive("ahk_exe chrome.exe", , 1) {
if (url != "")
Run('chrome.exe "' url '"')
return false
}
} else {
if (url != "")
Run('chrome.exe "' url '"')
return false
}
initialTitle := WinGetTitle("A")
; 3. 唤醒 Chrome 官方标签页搜索面板
Send("^+a")
Sleep(100) ; 稍长一点的延迟,确保搜索框完全准备就绪
; 4. 【核心修复】:强力清空旧残留,防止 PK_排课 残留干扰 排课
Send("^a") ; 全选里面旧的搜索文本
Sleep(30)
Send("{BackSpace}") ; 擦除它,确保输入框里空空如也
Sleep(30)
; 5. 使用剪贴板秒贴新词
savedClipboard := ClipboardAll()
A_Clipboard := tabName
Send("^v")
Sleep(50)
A_Clipboard := savedClipboard
savedClipboard := ""
; 6. 敲击回车执行跳转
Send("{Enter}")
Sleep(180) ; 稍微多给一点点腾讯文档页面响应和加载的时间
; 7. 检查活动窗口标题
newTitle := WinGetTitle("A")
; 如果切过去了,大功告成
if (newTitle != initialTitle || InStr(StrLower(newTitle), StrLower(tabName))) {
return true
}
; 8. 【核心修复】:如果没切成功,双重强关搜索面板,扫清一切 Run 的拦截障碍
Send("{Esc}")
Sleep(50)
Send("{Esc}") ; 连发两遍,确保彻底闭合面板
Sleep(100) ; 等待 Chrome 顶层 UI 恢复正常状态
; 9. 此时 Chrome 处于完全干净的状态,绝不会拦截任何指令
if (url != "") {
Run('chrome.exe "' url '"')
} else {
if (oldWin)
WinActivate(oldWin)
}
return false
}
; 外部命令行传参接口
if (A_Args.Length >= 1) {
tabName := A_Args
url := (A_Args.Length >= 2) ? A_Args : ""
ActivateTabOrOpenUrl(tabName, url)
}
版本:2.0-beta33
不知道是我操作不对,还是程序不太完美。
chrome虽然有surfingkeys等插件,但更喜欢MyKeymap的command模式。
需要频繁切换chrome多标签,资源管理器,(sublime完美适配,不做讨论)
【异常】
假如打开了tab-1,tab-2...
如果当前没有切换到tab-1,那么MyKeymap的“启动程序或激活窗口”
似乎查找不到tab-1,于是只能开新窗口
如果有人知道如何解决,就不用看下面啰嗦了。

** 【自己解决,方案1】**
把常用的10个标签都分开了。用了半天,受不了,因为把别的任务栏窗口挤得看不见了。
不得已还是把所有标签合在一起用。
【自己解决,方案2】
第1版,能切换,但是效率低,机制:
不停按ctrl+tab,切换标签,进行查找。效率低,而且窗口内容切换快,费眼睛。
第2版
本来以为是个简单需求,用DeepSeek愣是没搞出来,最后求助Gemini
大概是chrome有些安全机制,以及冷冻标签,所以找不到。
后来用的 chrome自带热键ctrl+shift+a
代码模拟按键,然后查找标签,找不到,再开对应网址。