【AHK】挽救 win11——在资源管理器里“双击返回上一级目录”

3 篇文章 0 订阅

在这里插入图片描述

一、需求

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_PriorHotKeyA_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
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 你可以使用AutoHotkey编写一个脚本来实现在Windows 10上使用热键来隐藏/显示桌面图标。以下是一个简单的示例脚本: #NoEnv SendMode Input SetWorkingDir %A_ScriptDir% ; 隐藏桌面图标 ^!h:: DllCall("Shell32.dll\SHGetSetSettings", "ptr", , "ptr", x00000001, "ptr", , "uint", ) WinGetClass, ProgmanClass, Progman WinGetClass, WorkerWClass, WorkerW WinHide, ahk_class %ProgmanClass% WinHide, ahk_class %WorkerWClass% return ; 显示桌面图标 ^!s:: DllCall("Shell32.dll\SHGetSetSettings", "ptr", , "ptr", x00000002, "ptr", , "uint", ) WinGetClass, ProgmanClass, Progman WinGetClass, WorkerWClass, WorkerW WinShow, ahk_class %ProgmanClass% WinShow, ahk_class %WorkerWClass% return 在这个脚本中,我们使用了两个热键:Ctrl+Alt+H来隐藏桌面图标,Ctrl+Alt+S来显示桌面图标。当按下Ctrl+Alt+H时,脚本会调用Shell32.dll中的SHGetSetSettings函数来隐藏桌面图标,然后使用WinHide命令隐藏Progman和WorkerW窗口。当按下Ctrl+Alt+S时,脚本会调用SHGetSetSettings函数来显示桌面图标,然后使用WinShow命令显示Progman和WorkerW窗口。 请注意,这个脚本可能不适用于所有的Windows 10系统,因为不同的系统可能使用不同的窗口类名来表示桌面图标。如果你发现这个脚本不能正常工作,请尝试使用其他的窗口类名。 ### 回答2: 在Windows 10操作系统中,我们可以通过自定义热键来实现隐藏/显示桌面图标的功能。为此,我们需要先下载并安装AutoHotkey这一免费软件,然后新建一个AHK文件(后缀名为.ahk),在其中输入以下代码: #NoTrayIcon #Persistent #IfWinActive ahk_class Progman ^!d:: SendMessage 0x111, 0x7, 0, 0, , Progman Return 其中,“#NoTrayIcon”表示喊AutoHotkey将不会在系统托盘中显示图标,“#Persistent”则表示脚本将持续运行,“#IfWinActive ahk_class Progman”指定当桌面为当前活动窗口时才会生效。 然后,在代码中的“^!d::”后面,我们可以自定义所需的热键,这的“^”表示Ctrl键,“!”表示Alt键,“d”表示D键,即组合键Ctrl+Alt+D。我们可以根据实际需求修改热键。发送消息“SendMessage 0x111, 0x7, 0, 0, , Progman”则实现了隐藏/显示桌面图标的功能。 当我们保存并运行该脚本后,在Windows 10操作系统中使用Ctrl+Alt+D组合键,即可实现隐藏/显示桌面图标的功能。需要注意的是,该脚本的效果不会立即生效,我们需要重新启动Windows Explorer程序或注销/重新登录才能看到效果。 总的来说,通过AutoHotkey软件自定义热键可以方便快捷地实现Windows 10系统中的各种功能,包括隐藏/显示桌面图标。但是需要注意的是,在操作时请确保准确按下组合键,以避免出现意外情况。 ### 回答3: 在Windows 10操作系统中,隐藏和显示桌面图标的方法有很多种,其中使用热键是一种方便快捷的方式。 首先,我们需要使用AutoHotkey(AHK)软件来定义一个热键。AutoHotkey是一款小巧而强大的脚本语言软件,它可以让我们自定义各种热键和脚本,实现更为高效的电脑操作。如果没有安装AutoHotkey,我们需要先下载和安装此软件。 接着,我们打开AutoHotkey软件,右键点击桌面,选择“新建AutoHotkey脚本”,在打开的编辑器中书写以下代码: ^!h:: WinGet, exStyle, Style, ahk_class Progman If (exStyle & 0x100) { WinSet, Style, -0x100, ahk_class Progman WinGet, ExStyle, Style, ahk_class WorkerW WinSet, Style, -0x20, ahk_class WorkerW } Else { WinSet, Style, +0x100, ahk_class Progman WinGet, ExStyle, Style, ahk_class WorkerW WinSet, Style, +0x20, ahk_class WorkerW } 上述代码的含义是:按下Ctrl+Alt+H的热键,可以隐藏或显示桌面图标。当桌面图标处于显示状态时,按下此热键会隐藏桌面图标;反之,当桌面图标处于隐藏状态时,按下此热键会显示桌面图标。 最后,我们保存脚本,并双击打开它。接着,我们就可以使用Ctrl+Alt+H的热键快捷地隐藏或显示桌面图标了。当然,如果需要修改热键,可以在脚本中将“^!h”更改为其他热键。 总之,使用热键可以让我们更方便快捷地隐藏和显示桌面图标,极大地提高了我们的工作效率和操作体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值