一、需求
win11 系统自带的资源管理器已实现 tab 页功能,还缺少双击空白处返回上一级目录
功能。安装第三方软件(如 QtTabBar 等)来实现,显得杀猪用牛刀,而且引入过多不必要的功能,造成资源浪费。因此决定用办公自动化软件实现。
二、代码
办公自动化软件很多,用于 OS 级别的,AutoHotKey 算是老面孔了,功能稳定。实现代码如下:
#Requires AutoHotkey v2.0
#HotIf WinActive("ahk_class CabinetWClass")
~LButton::{
MouseGetPos(&x, &y)
color := PixelGetColor(x, y)
if (A_PriorHotKey = "~LButton" && A_TimeSincePriorHotkey < 400) && (color = "0xFFFFFF"){
send "!{up}"
}
}
#HotIf
保存上述代码为 double_click.ahk
,只要系统安装了 AutoHotKey 2.0,即可双击代码文件运行之。为了以后使用方便,建议将该文件的快捷方式放入启动目录下。(即按下 win-R
键,然后输入 shell:startup
回车即可打开系统启动目录)
整体代码很简单,几个小地方略微解释一下:
- 整体思路就是,如果在资源管理器内,检测到双击白色区域,则发送
Alt-Up
组合键,实现返回上一级目录功能 ~
表示不改变后面按键的功能,这样一来,该案件仅仅用于激发特定代码- 鼠标双击的检测:利用软件内置的
A_PriorHotKey
与A_TimeSincePriorHotkey
结合来判断
三、渊源
在 windows 系统的资源管理器里,双击返回上一级目录,这个功能很好用。为了使用这个功能,以及让资源管理器支持 tab,也尝试了很多软件。
旧时代的 Clover 没有广告,无需收费,在 win7上使用很好。后来到了 win10 系统,尝试了 QTTabBar、ExTab 等软件,始终没有找到让人特别满意的,也就将就用着。到了现在的 win11时代,系统默认支持标签式资源管理器,再安装第三方软件,有点浪费资源。利用 AHK 实现缺失的功能(双击返上)是比较理想的办法。
以关键词 双击返回上层 ahk
搜索,可以在某呼、小破站等地方找到几乎一样的代码,声称实现了该功能,最终找到了该段代码的原始出处,在度娘的贴吧,但是都是基于 ahk 1.0 的语法。因此参考该代码,美化一下,并使用 ahk v2.0 的新语法。
参考本人上一篇《Win10 下,利用 AutoHotKey v2 恢复任务栏图标的右键菜单关闭之快捷键 c》,可以将两段代码放在同一个文件内,实现对 OS 的各种增强。
四、参考
- 度娘 autohotkey 帖吧:https://tieba.baidu.com/p/4013830237
- 【AutoHotkey】Windows双击返回文件管理器上一级 : https://www.bilibili.com/read/cv20120623/
- autohotkey v2.0 官方文档:https://www.autohotkey.com/docs/v2/
- Win11怎么把软件添加到开机自启动中:https://zhuanlan.zhihu.com/p/442808609