实现基于 WPF 的 AutoShutdown 主界面,支持关机、重启、睡眠、休眠、唤醒、锁屏和注销等电源任务。 支持指定时间和倒计时计划、执行前提醒、系统关机撤销、Windows 唤醒任务、托盘运行、自定义图标以及 OmniNotify 通知适配。 修复关闭到托盘时的运行提醒,并支持单击托盘图标打开或收起主界面。 补充 README、发布配置和 win-x64 Release 输出要求。 Release: win-x64
2.1 KiB
2.1 KiB
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 任务计划程序和系统电源设置,请在“电源选项”中允许唤醒计时器。