Skip to content

feat: 增加 Windows 定时关机功能 - #482

Merged
ihmily merged 2 commits into
ihmily:mainfrom
lsr-05:feat/scheduled-shutdown
Aug 5, 2026
Merged

feat: 增加 Windows 定时关机功能#482
ihmily merged 2 commits into
ihmily:mainfrom
lsr-05:feat/scheduled-shutdown

Conversation

@lsr-05

@lsr-05 lsr-05 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

功能说明

本 PR 为 StreamCap 的 Windows 桌面端增加定时关机功能,适合长时间录制、无人值守监控或挂机任务完成后自动关闭电脑,减少用户等待和不必要的设备运行时间。

修改内容

  • 在“基础设置”中新增单行“定时关机”入口,可启用每日固定时间关机并通过时间选择器设置关机时间。
  • 增加快捷关机设置,支持输入 1–168 小时后的延时关机,例如 3 小时、100 小时或一周后关机。
  • 快捷关机在执行前显示确认窗口,并明确展示预计关机时间,防止误操作。
  • 每日定时任务触发后使用 Windows 原生关机命令启动 60 秒倒计时,倒计时窗口中可取消本次关机。
  • 快捷关机可通过界面调用 Windows shutdown /a 取消,并在取消后恢复每日定时任务。
  • 定时任务会在配置变更、恢复默认设置和程序启动时自动重新调度,并在程序退出时清理内部异步任务。
  • 增加简体中文和英文界面文案;该功能默认关闭。
  • 仅在 Windows 桌面端显示,Web 端及其他操作系统不会出现该设置,也不会执行系统关机命令。

使用方式

  1. 打开“设置”→“录制设置”→“基础设置”。
  2. 开启“定时关机”并选择每日关机时间,即可每天在指定时间启动关机倒计时。
  3. 点击该设置行末尾的进入按钮,可设置 1–168 小时后的快捷关机。
  4. 已启动的快捷关机可在同一窗口中取消。

安全性设计

  • 功能默认关闭,不会改变现有用户行为。
  • 快捷关机必须经过二次确认。
  • 每日关机触发后保留 60 秒取消时间。
  • 所有系统命令均限制在 Windows 桌面环境中执行。
  • 快捷关机与每日定时任务互斥,避免同时提交多个关机计划。

验证

  • python -m compileall -q app main.py
  • 默认配置及中英文语言 JSON 解析检查
  • git diff --check
  • 本地完成 9 项时间计算、范围校验及关机命令参数测试,均通过
  • 已实际启动 StreamCap 验证设置加载,验证过程中未提交真实关机计划

按照维护者要求,本 PR 未提交 tests/ 文件夹、.idea 文件夹或其他无关文件。

@lsr-05

lsr-05 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

单纯个人使用中 有时候会用到这个功能 但是没有 自己添加的一个小功能

@ihmily
ihmily merged commit be8c281 into ihmily:main Aug 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants