# 一键运行 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、 临时写入并恢复开机启动注册表项,并会启动/关闭记事本等测试进程。