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

2.1 KiB
Raw Permalink Blame History

AutoShutdown

面向 Windows 10 及以上系统的自动电源任务工具,使用 C# WPF 和 .NET 8 开发,无第三方依赖。

功能

  • 按指定日期时间或倒计时执行任务
  • 支持关机、重启、睡眠、休眠、唤醒、锁屏、注销
  • 关机/重启交给 Windows 系统计划执行,关闭应用后仍可生效
  • 唤醒通过 Windows 任务计划程序实现,可从睡眠/休眠状态唤醒
  • 支持强制关闭未响应程序、执行前提醒、撤销系统关机/重启
  • 使用自定义应用图标,并支持系统托盘运行
  • 点击窗口关闭按钮会最小化到托盘,只有通过托盘菜单才能真正退出
  • 支持 OmniNotify 适配模式,可将原本的软件弹窗提示改为发送到 OmniNotify
  • Debug 构建提供隐藏的界面自截图参数,用于开发者检查 UI
  • Release 构建不会编译自截图逻辑,保持发布版本轻量

开发

dotnet build
dotnet run

开发 UI 后可以运行隐藏截图命令,自动渲染主界面并保存图片:

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

发布

dotnet publish -c Release -r win-x64

发布目录位于 bin/Release/net8.0-windows/win-x64/publish

说明

普通 Windows 应用无法让已经完全断电的电脑自动开机。应用中的“唤醒”功能依赖 Windows 任务计划程序和系统电源设置,请在“电源选项”中允许唤醒计时器。