85 lines
4.0 KiB
Markdown
85 lines
4.0 KiB
Markdown
# 一键运行 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 10(19041 及以上)或 Windows 11
|
||
- 开发环境:.NET 8 SDK、Windows App SDK 2.4.0(NuGet 自动还原)
|
||
- Release 自包含版本已将 .NET 8 运行时与 Windows App SDK 运行时打包进
|
||
应用目录,最终用户无需手动安装 .NET 环境
|
||
|
||
## 构建与运行
|
||
|
||
# 构建
|
||
dotnet build OneClickRun.sln
|
||
|
||
# 运行(调试构建输出)
|
||
src\OneClickRun.App\bin\x64\Debug\net8.0-windows10.0.19041.0\win-x64\OneClickRun.exe
|
||
|
||
# 发布 Release 自包含版本(含 .NET 运行时,无需用户安装 .NET)
|
||
dotnet publish src\OneClickRun.App\OneClickRun.App.csproj -c Release -r win-x64 --self-contained true -o dist\publish\win-x64
|
||
|
||
# 将发布目录压缩为分发包
|
||
powershell Compress-Archive -Path dist\publish\win-x64\* -DestinationPath dist\OneClickRun-0.2.1-win-x64.zip
|
||
|
||
Release 发布产物位于 dist\ 目录(已加入 .gitignore);最终用户解压后直接
|
||
运行 OneClickRun.exe 即可,无需安装 .NET 或 Windows App SDK。
|
||
|
||
## 使用说明
|
||
|
||
- 默认快捷键 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、
|
||
临时写入并恢复开机启动注册表项,并会启动/关闭记事本等测试进程。
|