Files
auto-shutdown/README.md
home-PC d2d81a482b feat(app): 初始化自动关机工具首个版本
实现基于 WPF 的 AutoShutdown 主界面,支持关机、重启、睡眠、休眠、唤醒、锁屏和注销等电源任务。

支持指定时间和倒计时计划、执行前提醒、系统关机撤销、Windows 唤醒任务、托盘运行、自定义图标以及 OmniNotify 通知适配。

修复关闭到托盘时的运行提醒,并支持单击托盘图标打开或收起主界面。

补充 README、发布配置和 win-x64 Release 输出要求。

Release: win-x64
2026-05-18 23:54:58 +08:00

57 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AutoShutdown
面向 Windows 10 及以上系统的自动电源任务工具,使用 C# WPF 和 .NET 8 开发,无第三方依赖。
## 功能
- 按指定日期时间或倒计时执行任务
- 支持关机、重启、睡眠、休眠、唤醒、锁屏、注销
- 关机/重启交给 Windows 系统计划执行,关闭应用后仍可生效
- 唤醒通过 Windows 任务计划程序实现,可从睡眠/休眠状态唤醒
- 支持强制关闭未响应程序、执行前提醒、撤销系统关机/重启
- 使用自定义应用图标,并支持系统托盘运行
- 点击窗口关闭按钮会最小化到托盘,只有通过托盘菜单才能真正退出
- 支持 OmniNotify 适配模式,可将原本的软件弹窗提示改为发送到 OmniNotify
- Debug 构建提供隐藏的界面自截图参数,用于开发者检查 UI
- Release 构建不会编译自截图逻辑,保持发布版本轻量
## 开发
```powershell
dotnet build
dotnet run
```
开发 UI 后可以运行隐藏截图命令,自动渲染主界面并保存图片:
```powershell
dotnet run -- --capture-ui=.\Screenshots\ui-review.png
dotnet run -- --capture-ui=.\Screenshots\ui-min.png --capture-size=960x720
dotnet run -- --capture-ui=.\Screenshots\ui-large.png --capture-size=2048x1152
```
该能力只在 Debug 构建中存在,不会出现在用户界面里。
## OmniNotify 适配
在主界面点击“通知设置”或在托盘菜单中打开“OmniNotify 适配设置”。
- 软件本身:保留 AutoShutdown 原有弹窗/托盘提示
- OmniNotify将原提示发送到 OmniNotify 的本地接口
- 默认监听地址:`http://127.0.0.1:19845/notify`
- 默认频道名:`default`
OmniNotify 需要先运行,并提前创建对应频道。设置保存到 `%LOCALAPPDATA%\AutoShutdown\notification-settings.json`
## 发布
```powershell
dotnet publish -c Release -r win-x64
```
发布目录位于 `bin/Release/net8.0-windows/win-x64/publish`
## 说明
普通 Windows 应用无法让已经完全断电的电脑自动开机。应用中的“唤醒”功能依赖 Windows 任务计划程序和系统电源设置,请在“电源选项”中允许唤醒计时器。