初始提交:WinUI 3 一键运行轮盘工具

This commit is contained in:
2026-08-30 01:37:56 +08:00
commit 83011e5d29
58 changed files with 4373 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
# 一键运行 OneClickRun
一键运行工具:以游戏快捷轮盘的形式,通过全局快捷键呼出一个圆形扇区轮盘,
快速启动软件、打开文件夹、打开网址或运行脚本。基于 WinUI 3 + C#.NET 8),
面向 Windows 10 / Windows 11。
## 功能特性
- 圆形轮盘,扇区数量与快捷指令数量一致(上限 12 个,默认 5 个演示指令)
- 全局快捷键呼出/隐藏轮盘(默认 Ctrl+Alt+Q
- 三种呼出方式:点击显示、长按显示、按住显示(松开即隐藏)
- 三种选择方式:单击选择、双击选择、滑动选择(仅按住显示时有效)
- 轮盘显示位置:屏幕中心 / 鼠标位置
- 指令类型:打开软件、打开文件夹、打开网址、运行 PowerShell 脚本(.ps1/.cmd/.bat
- 主设置界面:常规(开机启动、轮盘全局开关、主题)、行为、快捷指令、关于
- 系统托盘:点击设置窗口关闭按钮最小化到托盘,左键点击托盘图标恢复设置窗口,
右键菜单提供「启用/关闭轮盘」「设置」「退出」
- 日间/夜间/跟随系统主题
- 轮盘点击外部、Esc 或 8 秒超时自动关闭
## 目录结构
One_click_run/
├── OneClickRun.sln
├── Directory.Build.props
├── requirements.md # 开发需求文档
├── scripts/
│ ├── smoke.ps1 # 冒烟测试:启动→呼出轮盘→Esc 关闭
│ ├── e2e.ps1 # 端到端测试:11 个场景
│ ├── gen-icon.ps1 # 生成应用图标
│ └── probe-hotkey.ps1 # 探测系统快捷键占用
├── src/
│ ├── OneClickRun.Core/ # 纯逻辑:设置、指令执行、轮盘几何、快捷键解析
│ └── OneClickRun.App/ # WinUI 3 应用:窗口、页面、控件、服务
└── tests/
└── OneClickRun.Core.Tests/ # 单元测试(xUnit
## 环境要求
- Windows 1019041 及以上)或 Windows 11
- .NET 8 SDK
- Windows App SDK 2.4.0NuGet 自动还原,应用已配置自包含 Windows App SDK
## 构建与运行
# 构建
dotnet build OneClickRun.sln
# 运行(调试构建输出)
src\OneClickRun.App\bin\x64\Debug\net8.0-windows10.0.19041.0\win-x64\OneClickRun.exe
## 使用说明
- 默认快捷键 Ctrl+Alt+Q 呼出轮盘;在「呼出与快捷键」页可修改
- 「常规」页可设置开机启动、轮盘全局开关与主题模式
- 「快捷指令」页可新增/编辑/删除/排序指令,并支持「测试运行」
- 点击设置窗口右上角关闭按钮不会退出程序,而是最小化到系统托盘;
左键单击托盘图标恢复设置窗口,右键菜单可切换轮盘全局开关、打开设置或退出程序
- 设置保存在 %APPDATA%\OneClickRun\settings.json
- 日志位于 %APPDATA%\OneClickRun\logs\app.log
## 测试
# 单元测试(62 个)
dotnet test OneClickRun.sln
# 冒烟测试(需要图形会话)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\smoke.ps1
# 端到端测试(11 个场景;需要图形会话)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\e2e.ps1
注意:e2e.ps1 会临时写入并恢复 %APPDATA%\OneClickRun\settings.json、
临时写入并恢复开机启动注册表项,并会启动/关闭记事本等测试进程。