一款面向 Windows 桌面的快捷方式整理工具,将分散的程序快捷方式收纳到透明、可拖动的桌面盒子中。
项目概览 | 功能特性 | 快速开始 | 使用方式 | 项目架构
DeskBox 是一款运行在 Windows 桌面上的快捷方式整理工具,主要用于解决桌面图标数量过多、程序入口分散、常用工具难以快速查找等问题。用户可以把 .lnk 快捷方式拖入不同的透明盒子,按照工作、开发、娱乐等场景进行分组,并直接在桌面上完成整理和启动。
每个盒子都可以在桌面上自由移动、折叠和展开。展开后会进入一个更适合浏览的快捷方式工作区,支持分页查看和快捷启动,不需要额外打开传统的启动器窗口。
本仓库名称为 StorageBox,应用展示品牌为 DeskBox,Logo 和界面截图均已整理在仓库的 docs/images 目录中。
![]() |
![]() |
| 在桌面上整理多个快捷方式分组 | 展开后的 3 x 3 快捷方式工作区与分页浏览 |
- 使用透明桌面盒子对 Windows 快捷方式进行分组管理。
- 支持将
.lnk文件直接拖拽到盒子中,快速添加快捷方式。 - 支持展开盒子,进入集中查看的 3 x 3 快捷方式工作区。
- 支持通过鼠标滚轮、水平拖动和页码指示器浏览多页内容。
- 双击快捷方式即可通过 Windows Shell 启动目标程序。
- 按住
Alt键拖动折叠状态的盒子,可以重新调整盒子在桌面上的位置。 - 右键菜单支持新建、重命名、删除、打开和移除等常用操作。
- 采用现代化白色操作弹窗,并支持点击外部区域关闭临时菜单。
- 支持 Windows 通知区域托盘图标,可快速显示或隐藏盒子、新建盒子、切换开机自启、打开配置目录和退出程序。
- 将盒子布局和快捷方式配置持久化保存到
%AppData%\IconBox\config.json。 - 支持多显示器环境,并能够在显示器边界变化后自动修正盒子位置。
- 盒子运行在 Windows 桌面层,不会覆盖用户正在使用的普通应用程序窗口。
DeskBox 的定位不是一个普通的启动器窗口,而是一个持续存在于桌面上的轻量级工具。项目重点处理了桌面工具在日常使用中的几个关键体验:
- 在不抢占当前应用焦点的情况下,保持桌面盒子可用。
- 结合 WPF 界面、WinForms 托盘能力和 Windows 原生窗口样式,处理桌面层级与交互关系。
- 在配置文件发生变化、快捷方式丢失或路径无效时,尽量保证程序能够正常加载和运行。
- 同时支持折叠态桌面小组件和展开态快捷方式浏览界面,避免重复维护两套数据。
- 通过全局鼠标监听处理桌面外点击,使临时操作弹窗能够在合适的时机关闭。
- Windows 10 或 Windows 11。
- .NET 8 SDK,并安装 Windows Desktop 相关组件。
cd D:\2_Projects\Codex\StorageBox
dotnet build .\IconBox.App\IconBox.App.csproj
dotnet run --project .\IconBox.App\IconBox.App.csproj程序以 Windows GUI 进程运行。启动后,盒子会显示在桌面上,同时在 Windows 通知区域显示 DeskBox 托盘图标。
| 操作 | 功能 |
|---|---|
| 左键点击折叠状态的盒子 | 打开或关闭盒子展开工作区 |
按住 Alt 并拖动折叠状态的盒子 |
移动盒子在桌面上的位置 |
将 .lnk 文件拖到盒子上 |
向盒子中添加快捷方式 |
| 双击快捷方式 | 启动对应的目标程序 |
| 右键点击盒子 | 打开重命名、删除、新建等盒子操作 |
| 右键点击展开后的工作区 | 打开当前盒子的相关操作 |
| 右键点击展开界面中的快捷方式 | 打开、移除快捷方式或打开目标所在位置 |
| 右键点击托盘图标 | 显示或隐藏盒子、新建盒子、切换开机自启、打开配置目录或退出程序 |
DeskBox 采用基于 WPF 的轻量级服务化结构,将桌面交互逻辑放在对应的视图和控件中,同时通过独立服务处理配置、快捷方式解析、程序启动和开机自启等职责。
| 模块 | 主要职责 |
|---|---|
MainWindow |
桌面画布、展开工作区、操作弹窗、托盘操作和程序生命周期管理 |
IconBoxControl |
折叠盒子绘制、拖放处理、盒子手势和盒子操作弹窗 |
BoxModel / ShortcutItem |
盒子状态与快捷方式状态的数据模型 |
ConfigStore |
将配置以 JSON 形式持久化到用户 AppData 目录 |
ShortcutResolver |
解析 .lnk 文件中的快捷方式信息和图标 |
LaunchService |
通过 Windows Shell 启动快捷方式并打开目标位置 |
AutoStartService |
管理程序的 Windows 开机启动注册信息 |
DesktopWindowHost |
设置 Windows 原生窗口样式并协调桌面层级 |
GlobalMouseHook |
监听外部鼠标点击,使临时操作弹窗能够可靠关闭 |
ModernTrayMenuRenderer |
绘制现代化白色的 Windows 通知区域菜单 |
IconBox.App/
|-- Controls/ # 折叠状态的桌面盒子控件
|-- Interop/ # Windows 桌面宿主、鼠标监听和托盘菜单绘制
|-- Models/ # 应用配置、盒子和快捷方式数据模型
|-- Services/ # 配置、快捷方式、程序启动和开机自启服务
|-- Views/ # 辅助 WPF 窗口
|-- MainWindow.xaml # 桌面工作区和展开后的快捷方式界面
`-- App.xaml # 全局操作弹窗样式
DeskBox 会将用户配置保存到以下位置:
%AppData%\IconBox\config.json
配置文件包含盒子名称、盒子位置、所属显示器、当前页码、快捷方式路径以及开机自启设置。当某个快捷方式文件不存在或配置无效时,程序会跳过异常条目,尽量继续加载其他正常内容。
只构建程序但不启动:
dotnet build .\IconBox.App\IconBox.App.csproj直接运行项目:
dotnet run --project .\IconBox.App\IconBox.App.csproj本地验证生成的构建输出目录已通过 .gitignore 排除。仓库只保留最新版本所需的源代码、文档图片和项目配置,避免将本地编译产物和旧版本验证目录提交到 GitHub。
- 支持自定义主题和盒子强调色。
- 支持搜索所有盒子中的快捷方式。
- 支持导入和导出盒子布局。
- 制作安装包,并发布经过签名的 Windows 版本。
当前仓库暂未选择具体的开源许可证。


