ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【效率封神·续】快捷管家:把 AHK 菜单做成可扩展的「私人指挥部」

【效率封神·续】快捷管家:把 AHK 菜单做成可扩展的「私人指挥部」 上一篇【效率封神】AutoHotkey (AHK) 全方位指南从 10 分钟入门到打造「私人指挥部」上一篇把 AHK 热键、Window Spy、多级菜单和#HotIf讲清楚了。这篇介绍我基于 AHK v2 做的快捷管家按下Alt Z弹出分类菜单用来打开文件夹、程序和文件。日常增删改走菜单不必先改脚本。0. 为什么还要再做一个工具上一篇的示例菜单是「写死」的每加一个路径就要改脚本、重启。用了一段时间会遇到三个问题痛点写死菜单时的情况快捷管家的做法资源越来越多分类和热键都记不住一个入口按分类排成最多 4 列路径经常变每次改.ahk菜单里新增 / 编辑写入Data\Items.ini想给别人用配置和个人目录绑在一起种子配置用系统变量运行数据与脚本分离目标不是再做一个 Launchy而是热键只负责呼出菜单负责分类INI 负责持久化脚本负责扩展。1. 这是什么快捷管家是 Windows 上的个人资源启动器基于 AutoHotkey v2。它做三件事用系统原生菜单打开文件夹、程序、文件在菜单里完成新增、编辑、删除、收藏把「最近使用」和资源列表存到Data\脚本本身尽量保持稳定不依赖自定义大窗口后台占用很小适合当开机自启的「指挥部」。Alt Z / Alt Shift Z快速菜单托盘「快速菜单」管理收藏最近Script分类标题 资源名最多 4 列单击资源名打开新增 / 编辑 / 删除 / 收藏资源管理器 / 复制路径2. 功能一览2.1 快速菜单入口作用Alt Z或Alt Shift Z打开快速菜单托盘图标「快速菜单」同上也可进「管理」双击托盘默认打开快速菜单菜单顶部固定四项管理、收藏、最近、Script。下面是按分类排列的资源每个分类先显示一行粗体分类名:其下是资源名。标记含义*已加入收藏[缺失]当前路径不存在点资源名即打开。分类标题不可点编辑和删除请走管理。2.2 打开规则类型行为文件夹用资源管理器打开该目录程序运行该路径应指向.exe/.bat等文件用系统默认应用打开补充路径不存在会弹窗不会写入「最近」同一路径可以对应多条资源例如「工作文档」和「文档备份」若类型选了「程序」但路径仍是目录打开会进文件夹要启动软件把路径改成实际.exe2.3 管理、收藏、最近你想做的事操作打开点分类下的资源名在资源管理器中显示管理→ 资源管理器复制路径管理→ 复制路径新增管理→ 新增资源改名称 / 分类 / 路径 / 类型管理→ 编辑资源删除管理→ 删除资源会确认收藏 / 取消收藏新增或编辑时勾选或管理→ 加入或取消收藏打开成功后记入「最近」最多 10 条存的是资源id改路径或重复路径时不会串项。清空Script → 清空 Recent。2.4 Script 与全局热键Alt Z→Script项作用编辑主程序打开快捷管家.ahk编辑配置文件打开HubConfig.ahk清空 Recent清空最近列表从 HubConfig 重新导入用种子列表覆盖Items.ini重启脚本重新加载主程序脚本在后台时另有几组与菜单独立的热键快捷键功能Ctrl Alt 2发送Win 2切换任务栏第 2 个钉选应用Ctrl Alt T管理员任务管理器Ctrl Alt S管理员 CMD按名称打开资源、随脚本拉起其它程序见第 6 节。3. 文件结构与数据流快捷管家/ ├─ 快捷管家.ahk 主程序菜单、热键、打开、增删改 ├─ HubConfig.ahk 种子列表仅首次或「重新导入」时写入 Items.ini ├─ README.md 使用说明 └─ Data/ ├─ Items.ini 当前真正生效的资源列表 ├─ Items.ini.bak 上次成功保存的备份 ├─ Recent.ini 最近打开过的资源 id ├─ Recent.ini.bak 最近列表的备份若有 └─ Ui.ini 旧版窗口尺寸残留当前菜单版不读取要点有Items.ini之后只改HubConfig.ahk不会出现在菜单里除非执行Script → 从 HubConfig 重新导入。重新导入会覆盖后来在菜单里做的修改。Items.ini每条字段Id、Name、Category、Path、Favorite、Kindfolder/app/file。保存时先写临时文件再替换避免写到一半把列表写空。重置日常AltZ 管理Items.ini点资源名打开Recent.ini改 HubConfig.ahkScript 重新导入4. 安装与第一次运行4.1 环境安装 AutoHotkey v2不要用 v1把整个文件夹放到一个固定位置例如D:\Tools\快捷管家双击快捷管家.ahk不要频繁移动目录运行数据都在Data\下路径是相对脚本目录的。4.2 首次导入如果Data\Items.ini还不存在脚本会读取HubConfig.ahk里的ALL_ITEMS生成初始列表。仓库自带的种子是通用示例换电脑也能跑ALL_ITEMS : [ [文档, 常用目录, A_MyDocuments, true], [桌面, 常用目录, A_Desktop, true], [本工具目录, 常用目录, A_ScriptDir, false], [记事本, 常用程序, A_WinDir \notepad.exe, true], [计算器, 常用程序, A_WinDir \System32\calc.exe, false] ]4.3 开机自启与上一篇相同Win R→ 输入shell:startup→ 把快捷管家.ahk的快捷方式放进去。脚本含中文时保存编码用UTF-8 with BOM。建议以普通权限运行。若要操作受保护的系统窗口再考虑提权不必默认管理员。5. 日常怎么用推荐顺序先用菜单加自己的资源不要一上来改HubConfig.ahk。5.1 新增一条资源Alt Z→管理→新增资源填写名称、分类、路径、类型高频条目勾选「加入收藏」路径用「文件夹…」「文件…」选择类型会自动判断也可手改分类可从已有列表选也可输入新分类名会变成新的一列5.2 收藏与最近收藏菜单顶部单独一项适合每天都要进的目录或软件最近打开成功才记最多 10 条按 id 去重5.3 托盘托盘提示名为「快捷管家」。右键可打开快速菜单、管理、重启、退出。脚本挂了或改完主程序后用「重启脚本」或退出后再双击启动。6. 如何扩展扩展分三层改种子列表、加热键、改主程序行为。6.1 批量改种子列表适合「换电脑后一次性灌入常用目录」或自己维护一份可版本管理的清单。HubConfig.ahk每一项格式[名称, 分类, 路径, 是否收藏],字段含义名称菜单上显示的文字分类列分组新分类名会变成新的一列路径文件夹 / 程序 / 文件是否收藏true/false示例把项目目录和工作软件加进去。ALL_ITEMS : [ [文档, 常用目录, A_MyDocuments, true], [工作仓库, 开发, D:\Work\repo, true], [对比工具, 常用程序, C:\Program Files\Scooter Software\Beyond Compare 4\BCompare.exe, false] ]改完后必须Script → 从 HubConfig 重新导入。这一步会丢弃Items.ini里后来在菜单中做的修改执行前看清提示。日常零星增删继续用管理即可不必改种子文件。6.2 按名称绑定热键主程序提供OpenHubItemByName(名称)。名称必须与菜单条目一致改路径后热键仍然有效因为查找走的是名称打开走的是该条当前路径。在快捷管家.ahk末尾取消注释或自行添加^!d::OpenHubItemByName(文档) ; Ctrl Alt D 打开「文档」改完后Script → 重启脚本。这比写死Run D:\xxx更稳搬家或改路径时只改菜单里的那一条。6.3 启动时拉起其它程序StartBackgroundServices()在脚本启动时执行一次。把「希望常驻、但不必每次手动开」的程序放这里StartBackgroundServices() { AppPath : C:\Path\To\SomeApp.exe if !ProcessExist(SomeApp.exe) FileExist(AppPath) Run(AppPath, , Hide) }6.4 改菜单列数或热键入口呼出菜单的热键在文件前部!z::ShowQuickMenu() !z::ShowQuickMenu()分类列数由AddColumnGroups(..., 4)的最后一个数字控制。资源特别多时可改成5或6改完重启脚本。6.5 给「打开」加自己的规则OpenResource()当前逻辑否是folderapp / file点资源名路径是否存在弹窗不写入最近类型explorer 打开目录Run 该路径写入 Recent id若要「打开目录前先切到已有窗口」可在OpenResource()里对kind folder加WinExist/WinActivate判断思路与上一篇「有就切过去没有才打开」相同。6.6 扩展时建议动哪里需求改哪里是否要重启加一条日常资源管理 → 新增资源否批量重置整份列表HubConfig.ahk 重新导入导入即可加全局热键 / 开机拉起程序快捷管家.ahk末尾是改菜单列数、呼出键快捷管家.ahk是改打开方式OpenResource()是不要手改Data\Items.ini和Data\Recent.ini。菜单和 Script 已经覆盖增删改、备份和清空。7. 备份、搬家与排错正常保存会更新Data\Items.ini.bak搬家整份文件夹连同Data\一起复制资源路径按本机磁盘换电脑后用管理 → 编辑改路径Items.ini损坏先试.bak或从 HubConfig 重新导入会丢掉之后在菜单里的修改菜单出现[缺失]路径变了或盘符变了走管理 → 编辑即可改了HubConfig.ahk菜单没变还没「重新导入」或导入时点了否8. 和上一篇的对应关系上一篇讲的是 AHK 能力这篇是把这些能力收成一个可维护的小工具。上一篇概念在快捷管家里的落点Alt Z多级菜单快速菜单 分类列Run打开路径OpenResource()按类型打开「有窗口则激活」可自行扩到OpenResource()热字符串 / 热键全局热键 OpenHubItemByName配置与脚本混在一起HubConfig.ahk种子 Items.ini运行时数据上一篇那句仍然适用如果一个动作每天要做 10 次以上就应该把它自动化。快捷管家只是把「自动化」从散落的热键收成一张能分类、能收藏、能扩展的菜单。9. 结语快捷管家的用法可以压成三句话Alt Z打开点名称即打开资源日常增删改走管理不要手改 INI要扩展种子列表用HubConfig.ahk热键和启动逻辑写在主程序末尾把文件夹放到固定位置加进开机启动再把自己真正每天都进的目录填进去它就会从「示例菜单」变成你的指挥部。点击下载#AutoHotkey #Windows效率 #自动化脚本 #程序员工具 #生产力提升 #快捷管家
返回列表