无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 519|回复: 13
打印 上一主题 下一主题

[分享] 托盘区显示并切换是否显示隐藏的项目和系统文件的ahk脚本

[复制链接]
跳转到指定楼层
1#
发表于 3 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hlowld 于 2025-4-16 16:30 编辑

没什么技术含量,个人感觉挺实用。
推荐在win10上用,win11也能用,但图标偏移不一样了,导致显示的图标不准确,可自行修改一下。

#NoEnv
#SingleInstance Force
#Persistent
Menu, Tray, NoStandard ; 隐藏AutoHotkey默认菜单
Gosub, Update
peroid = 10000
argc = %0%
if (argc >= 1) {
    peroid = %1%
}
SetTimer, Update, %peroid% ; 每 peroid/1000 秒更新一次
Return


Update:
    Menu, Tray, DeleteAll
    RegRead Value, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden   
    if (Value = 1) {
        Menu, Tray, Add, 不显示隐藏的项目, ToggleHidden
        Menu, Tray, Default, 不显示隐藏的项目 ; 双击托盘图标触发
        RegRead Value, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, ShowSuperHidden
        if (Value = 1) {
                        Menu, Tray, Add, 隐藏系统文件, ToggleSuperHidden
                        Menu, Tray, Icon, shell32.dll , 70 ;看全部
                        Menu, Tray, Tip, 显示隐藏的项目,显示系统文件
        } else {
                Menu, Tray, Add, 显示系统文件, ToggleSuperHidden
                Menu, Tray, Icon, shell32.dll , 1 ;看非系统文件
                Menu, Tray, Tip, 显示隐藏的项目,隐藏系统文件
        }
    } else {
        Menu, Tray, Add, 显示隐藏的项目, ToggleHidden
        Menu, Tray, Default, 显示隐藏的项目 ; 双击托盘图标触发
        Menu, Tray, Icon, imageres.dll , 255 ;都不看
        Menu, Tray, Tip, 不显示隐藏的项目
    }
    Menu, Tray, Add
    Menu, Tray, Add, 退出, ExitApp
Return


ToggleHidden:
    ; 切换是否显示隐藏的项目
    RegRead, Value, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden
    if (Value = 1) {
        RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 2
    } else {
        RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 1
    }
        Gosub, Effect  ;生效
    Gosub, Update  ;更新托盘菜单
Return


ToggleSuperHidden:
    ; 切换是否显示系统文件
    RegRead, Value, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, ShowSuperHidden
    if (Value = 1) {
        RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, ShowSuperHidden, 0
    } else {
        RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, ShowSuperHidden, 1
    }
        Gosub, Effect  ;生效
    Gosub, Update  ;更新托盘菜单
Return


Effect:
        WinGet, id, List, ahk_class CabinetWClass
        Loop, %id%
        {
        id := id%A_Index%
        SendMessage, 0x111, 0x1A220,,, ahk_id %id%
        }
        WinGet, id, ID, ahk_class Progman
        SendMessage, 0x111, 0x1A220,,, ahk_id %id%
return


ExitApp:
    ExitApp

2#
发表于 3 天前 | 只看该作者
感谢分享!
回复

使用道具 举报

3#
发表于 3 天前 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

4#
发表于 3 天前 | 只看该作者
感謝大大分享!^^ 辛苦了!
回复

使用道具 举报

5#
发表于 3 天前 | 只看该作者
感谢楼主分享!
回复

使用道具 举报

6#
发表于 3 天前 | 只看该作者
感谢楼主分享
回复

使用道具 举报

7#
发表于 前天 08:15 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

8#
发表于 前天 08:16 | 只看该作者
感谢分享!
回复

使用道具 举报

9#
发表于 前天 08:55 | 只看该作者
确实挺实用,感谢楼主分享
回复

使用道具 举报

10#
发表于 前天 09:25 | 只看该作者
这个功能不是有个右键菜单版嘛。那个不更方便。
回复

使用道具 举报

11#
 楼主| 发表于 前天 09:31 来自手机 | 只看该作者
本帖最后由 hlowld 于 2025-4-17 12:19 编辑

之前也一直用右键菜单切换,但普通右键菜单无法显示当前的状态,开发shell dll可以实现右键菜单文本或图标动态显示当前状态,但比较复杂,想了一下还不如托盘区简单实用
回复

使用道具 举报

12#
发表于 前天 11:35 | 只看该作者

感谢楼主分享!
回复

使用道具 举报

13#
发表于 前天 11:51 | 只看该作者
楼主有没有做新的精简系统了?
回复

使用道具 举报

14#
 楼主| 发表于 前天 12:18 | 只看该作者
老机器RAMOS用的,追求极致地省空间和资源占用,自己精简的LTSB2016(14393.1944)基本上够用了,能解决的问题都解决了。

主力机上,我不再追求省空间,只精简能精简的所有APPX(含Defender)和 Edge、OneDrive。
我的精简方案变成了:不精简镜像,写了一个批处理,调用winntsetup释放文件后,执行 "离线精简部分组件和APPX + 离线优化" 的脚本,然后添加首次登录执行"在线精简部分组件和APPX + 在线优化" 的无人值守文件,再重启。
好处是:用这个脚本安装所有原版系统后,都是我想要的样子,基本一劳永逸了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-4-19 07:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表