ScreenStay 免费下载

Release Notes · ScreenStay · Mac & Windows

更新记录

ScreenStay 的 Mac 与 Windows 两个版本分别演进:Mac 版从菜单栏开关走到 macOS 15.4+ 的 Now Playing 修复;Windows 版(原 KeepAwake)从托盘常亮开关走到智能播放检测、WinUI 3 主界面与安装包。下方按平台分组,各自最新版本在前。

Mac 1.2.3 · 2026-11-04 Windows 1.5.3 · 2026-11-06 Mac 6 个版本 · Windows 13 个版本

01版本总览

版本日期摘要
Mac
Mac 1.2.32026-11-04用系统 Perl 读取真实播放状态,修复暂停后仍判定播放
Mac 1.2.22026-11-04改用 JXA,修复严格模式不触发和绿点不出现
Mac 1.2.12026-11-04尝试 MRNowPlayingRequest,部分系统仍返回 Paused
Mac 1.2.02026-11-04新增“仅系统媒体播放时触发”严格模式
Mac 1.1.02026-11-03右键菜单显示其他影响熄屏的应用
Mac 1.0.02026-11-03菜单栏开关、媒体检测、防熄屏、开机自启
Windows
Win 1.5.32026-11-06WPF 现代化安装界面,修复高 DPI 字体毛刺
Win 1.5.22026-11-06更名 ScreenStay;新增 EXE 安装包与卸载程序
Win 1.5.12026-11-05阻止休眠页布局与解析修复;显示当前播放软件
Win 1.5.02026-11-05纯显示器三态托盘图标;中文友好电源请求
Win 1.4.22026-11-05托盘菜单居中、状态同步;双击快速开关
Win 1.4.12026-11-05托盘菜单重设计;单击打开主界面;主题自动保存
Win 1.4.02026-11-05全新 WinUI 3 主界面;托盘菜单精简为 4 项
Win 1.3.12026-11-05主题 4 种切换方式(日出日落 / 夜间模式)
Win 1.3.02026-11-05新增自动切换日间 / 夜间主题
Win 1.2.12026-11-04「阻止休眠的程序」改用 WinUI 3
Win 1.2.02026-11-04查看阻止休眠的程序;弹窗提醒开关
Win 1.1.02026-11-04智能模式:仅播放音视频时保持常亮
Win 1.0.02026-10-28首个版本:托盘开关、常亮、开机自启

macOSMac 版更新记录

当前 1.2.3 · macOS 13+

Mac 1.2.3

最新稳定版 2026-11-04 · Build 6

修复

  • 修复音乐暂停后,菜单栏仍显示播放中、绿点不消失、电源断言继续持有的问题。
  • 修复部分播放器暂停后 kMRMediaRemoteNowPlayingInfoPlaybackRate 仍停留在 1 的误判。

变更

  • 新增内置 Perl 辅助器:nowplaying-probe.pl 与 libScreenStayNowPlaying.dylib。
  • 通过 /usr/bin/perl 调用 MRMediaRemoteGetNowPlayingApplicationIsPlaying,取得真实播放/暂停状态。
  • JXA 只负责读取应用名、标题、PID 和 Bundle ID;Perl 不可用时回退到 PlaybackRate、进程音频输出和 isCurrentlyPlaying。
  • 严格模式暂停释放延迟缩短到约 1–3 秒。
  • --nowplaying 增加 perlAvailable、perlIsPlaying、pid、bundle 等输出。

验证

perlAvailable=true
perlIsPlaying=false
source=jxa
isPlaying=false
playbackRate=0.0

暂停后电源断言释放,绿点消失;播放时 perlIsPlaying=true,断言正常创建。

Mac 1.2.2

2026-11-04 · Build 5

修复

  • 修复严格模式下无法识别实际播放状态、菜单栏绿点不出现。
  • 绕开 macOS 15.4+ 对第三方 App 的 MediaRemote 状态限制。

变更

  • 使用 /usr/bin/osascript 执行 JXA 辅助脚本,读取 MRNowPlayingRequest.localNowPlayingItem。
  • 以 PlaybackRate 判断播放,修复旧 C 接口固定返回 Paused 的问题。
  • --nowplaying 增加 source=jxa、isPlaying、playbackRate 等输出。
1.2.2 解决了“检测不到播放”的问题,但暂停时某些播放器仍会保留 Rate=1,因此后续在 1.2.3 增加了 Perl 真实状态确认。

Mac 1.2.1

2026-11-04 · Build 4

过渡修复

  • 旧 C 接口被限制后,改用 Objective-C 桥接 MRNowPlayingRequest。
  • 新增 --nowplaying 诊断命令。

结果

能读取播放应用名称,但 macOS 27 上 localIsPlaying 与 localPlaybackState 仍返回过期的 Paused。该版本作为过渡记录保留,建议使用 1.2.3。

Mac 1.2.0

2026-11-04 · Build 3

新增

  • 右键菜单新增“仅系统媒体播放时触发”,默认开启。
  • 严格模式只监听 macOS 右上角 Now Playing,普通提示音不会触发。
  • 关闭严格模式后回退到 Core Audio + Now Playing 兼容模式。
  • 开关状态持久化到 UserDefaults。

已知问题

受 macOS 15.4+ 权限限制,严格模式实际无法识别播放,绿点不出现;已在 1.2.2 / 1.2.3 修复。

Mac 1.1.0

2026-11-03 · Build 2

新增

  • 右键菜单新增“其他影响熄屏的应用”。
  • 通过 IOPMCopyAssertionsByProcess 读取 NoDisplaySleepAssertion 与 PreventUserIdleDisplaySleep。
  • 自动排除 ScreenStay 自己,按应用合并进程,悬停显示 PID 与断言类型。
  • 新增 --blockers 诊断命令。

Mac 1.0.0

2026-11-03 · Build 1

首次发布

  • 原生 macOS 菜单栏 App,无 Dock 图标;单击开关,右键菜单。
  • Core Audio 输出 + Now Playing 检测,媒体停止后延迟释放。
  • 创建 PreventUserIdleDisplaySleep 与 PreventUserIdleSystemSleep。
  • SMAppService 开机自启;通用二进制;自定义图标;DMG / ZIP 安装包。
  • 无需辅助功能、屏幕录制或麦克风权限;不联网、不上传数据。

WindowsWindows 版更新记录

当前 1.5.3 · Windows 10 / 11(v1.5.2 起由 KeepAwake 更名为 ScreenStay)

Windows 1.5.3

最新稳定版 2026-11-06

安装界面

  • 安装程序改用 WPF 现代化界面:
    • 绿色渐变标题栏、圆角卡片、自绘复选框/输入框/按钮,Segoe UI 字体;
    • 安装成功页(安装完成后显示「打开 ScreenStay / 完成」)。
  • 修复字体毛刺:安装程序启用 PerMonitorV2 DPI 感知,WPF 矢量渲染,4K / 高缩放下文字清晰不模糊。
  • 卸载程序同样加入 DPI 感知与 Segoe UI 字体。

版本

  • 主程序 1.5.3;WinUI 3 主界面 1.5.3;安装包 ScreenStay-Setup-1.5.3.exe。

Windows 1.5.2

2026-11-06

改名

  • 软件正式更名为 ScreenStay(与 Mac 项目一致):
    • 主程序:ScreenStay.exe
    • 主界面:ScreenStay.Viewer.exe(目录 ScreenStay.Viewer)
    • 安装目录:%LOCALAPPDATA%\Programs\ScreenStay
  • 旧版设置会自动迁移到 HKCU\Software\ScreenStay。

安装包 / 卸载

  • 新增 EXE 安装包 ScreenStay-Setup-1.5.2.exe:图形安装向导,可选桌面快捷方式、开机自动启动、安装后启动。
  • 安装完成后可在「设置 → 应用 → 已安装的应用」(或控制面板「程序和功能」)直接卸载。
  • 安装目录中包含 Uninstall.exe;便携包内也包含 Uninstall.exe,可直接卸载便携版。
  • 安装包会清理旧版 KeepAwake 的开机启动项。
  • 安装包未签名,首次运行如出现 SmartScreen 提示,请选择「更多信息 → 仍要运行」。

图标

  • 软件图标(exe / 主界面标题栏与任务栏)改为绿色显示器;主界面显式设置窗口图标,不再显示红色。

版本

  • 主程序 1.5.2;WinUI 3 主界面 1.5.2。

Windows 1.5.1

2026-11-05

阻止休眠的程序

  • 顶部按钮行改为自动换行:窗口拉窄时「显示详细信息」「复制到剪贴板」会自动换到下一行,不再被裁掉。
  • 没有程序时,两块卡片统一显示单行中文(如「未检测到正在阻止系统睡眠的程序。」),不再显示多行占位文字。
  • 修复解析:只提取 DISPLAY / SYSTEM 两段,AWAYMODE / 执行 / PERFBOOST / ACTIVELOCKSCREEN 等其它段落不再被误显示为「系统睡眠」里的多行内容。

主界面窗口

  • 默认窗口大小改为按 DPI 和屏幕工作区自动计算:1080p 下约 1150x800,4K / 高缩放屏幕会自动放大,不再显得过小。

其它

  • 软件图标(exe / 任务栏)改为绿色显示器。
  • 常规页删除「这些设置与托盘菜单双向同步…」说明文字;阻止休眠页说明去掉「用中文」。
  • 常规页新增「当前检测到的播放软件」区域,实时显示正在播放的软件(例如 QQMusic)。

版本

  • 主程序 1.5.1;WinUI 3 主界面 1.5.1。

Windows 1.5.0

2026-11-05

托盘图标

  • 三个状态图标简化为纯「显示器」外形,去掉太阳、暂停符号、红斜杠等额外符号。
  • 仅用颜色区分状态:
    • 红色显示器:已开启,检测到播放
    • 绿色显示器:已开启,无音视频播放 / 播放暂停缓冲中
    • 灰色显示器:自动防息屏未开启

阻止休眠的程序

  • 默认改为中文友好显示:分「屏幕显示(阻止屏幕关闭)」和「系统睡眠(阻止系统睡眠)」两类,只列程序名称,不再直接展示英文原始字段和长路径。
  • 新增「显示详细信息」按钮:点击后显示原始 powercfg /requests 输出(再点隐藏)。
  • 自动从进程路径提取程序名,自动识别中英文标题(DISPLAY/显示、SYSTEM/系统),忽略 None / 无 等占位内容。

版本

  • 主程序 1.5.0;WinUI 3 主界面 1.5.0。

Windows 1.4.2

2026-11-05

修复

  • 托盘右键菜单文字改为在每一项内垂直居中,不再整体偏上。
  • 托盘菜单切换「自动防息屏」后,主界面「常规」页的开关会在约 2 秒内自动同步,不需要切换页面。
  • 主界面标题栏改为跟随系统浅色 / 深色主题(AppWindowTitleBar.PreferredTheme),系统切到深色时标题栏自动变黑。

托盘图标

  • 新增双击托盘图标快速开关自动防息屏(单击仍打开主界面;双击不会误触发主界面)。

Windows 1.4.1

2026-11-05

托盘菜单与状态

  • 托盘右键菜单重新设计:圆角卡片、悬停高亮胶囊、Segoe UI 字体、自绘勾选标记,颜色跟随系统浅色 / 深色主题,更接近 Windows 11 系统菜单。
  • 「当前状态」移到右键菜单最上方;状态文字改为 4 种:
    • 自动防息屏未开启
    • 已开启,无音视频播放
    • 已开启,检测到播放
    • 已开启,播放暂停缓冲中
  • 托盘图标悬停提示同步显示上面的状态文字。
  • 单击托盘图标打开主界面(原来是双击);主界面已打开时再次单击会激活已有窗口。

主界面

  • 「常规」页顶部新增「当前监测状态」卡片,每 2 秒自动刷新。
  • 「主题」页去掉「保存」「重新读取」按钮:修改切换方式、时间、城市等任何设置都会自动保存;开启自动切换开关后约 10~15 秒生效。
  • 修复「弹窗提醒」开关:切换后立即写入设置、更新提示文字并给出反馈,与主程序状态保持一致。

版本

  • 主程序 1.4.1(约 100 KB);WinUI 3 主界面 1.4.1。

Windows 1.4.0

2026-11-05

全新 WinUI 3 主界面(布局参考 Auto Dark Mode)

  • 新增 WinUI 3 主界面,左侧导航:常规 / 主题 / 阻止休眠的程序 / 使用说明 / 关于。
    • 常规:自动防息屏开关、开机自动启动、弹窗提醒、查看电源请求入口。
    • 主题:原有 4 种日间 / 夜间切换方式全部迁入;保存设置不再关闭窗口。
    • 阻止休眠的程序:内嵌显示报告,支持刷新(UAC 提权)与复制。
    • 使用说明 / 关于:帮助内容与版本、路径信息。
  • 托盘右键菜单精简为 4 项:自动防息屏开关、当前状态、打开主页面、退出;其余设置全部移到主界面。
  • 双击托盘图标打开主界面;主程序已在运行时再次双击 exe 也会打开主界面。
  • 主界面只允许一个实例(命名互斥体 + 窗口激活);主程序同样保持单实例。
  • 主程序每 3 秒同步一次注册表开关,主界面里的修改约 3 秒内自动生效。
  • 版本号升级为 1.4.0(主程序约 96 KB;WinUI 3 主界面)。

Windows 1.3.1

2026-11-05

主题设置增强(4 种切换方式)

  • 自定义时间:保留原有的「日间开始 / 夜间开始」固定时间设置。
  • 日出日落(自动定位):调用 Windows 定位服务获取经纬度,自动计算当地日出 / 日落时间(NOAA 简化算法,精度约 1~2 分钟)。
  • 日出日落(手动选择城市):内置 50 个常用城市(含国内主要城市和部分国际城市),选择后按该城市经纬度计算日出 / 日落;窗口内实时显示计算结果。
  • 跟随 Windows 夜间模式:读取 Windows 夜间模式(Night Light)当前状态,开启时使用深色主题、关闭时使用浅色主题;读取失败时自动回退到自定义时间。
  • 极昼 / 极夜或坐标无效时自动回退到固定时间。

设置窗口改进

  • 设置窗口重做:新增「切换方式」下拉框;按所选方式显示对应设置区域;实时显示日出 / 日落预览。
  • 修复多开问题:主题设置窗口现在只允许一个实例——再次点击菜单会激活已打开的窗口,而不是再开一个(主程序查找窗口 + 查看器命名互斥体双重保护)。

内部实现

  • 新增共享模块 shared/SunCalculator.cs(日出日落计算)与 shared/NightLightState.cs(Bond CompactBinary v1 解析 CloudStore 夜间模式状态),主程序与 WinUI 3 窗口共用。
  • 自检新增:主题模式 / 坐标 / 城市读写、日出日落计算、Windows 夜间模式状态解析(字节级 + 实际注册表)。
  • 版本号升级为 1.3.1(主程序与 WinUI 3 查看器 / 设置窗口均为 1.3.1)。

已知限制

  • 自动定位需要 Windows 位置服务可用,且「允许桌面应用访问位置信息」已开启;失败时可改用手动选择城市。
  • 夜间模式数据结构为微软未公开格式,未来系统更新可能变化;读取失败时自动回退自定义时间。
  • 主题切换仍只切换浅色 / 深色主题,不切换壁纸。

Windows 1.3.0

2026-11-05

新增:自动切换日间 / 夜间主题

  • 右键菜单新增「自动切换日间/夜间主题」开关:按设定时间自动切换 Windows 的浅色 / 深色主题。
    • 同时切换应用主题(AppsUseLightTheme)与系统主题(SystemUsesLightTheme,任务栏 / 开始菜单等)。
    • 切换后广播 WM_SETTINGCHANGE / WM_THEMECHANGED,已打开的程序会刷新配色。
    • 日间开始 / 夜间开始时间可自定义(24 小时制),保存后约 10~15 秒内生效。
    • 支持跨午夜时间段(例如日间 19:00、夜间 07:00 也能正确判断)。
    • 只在计划时间点切换一次,不会持续强制覆盖用户手动调整的主题。
  • 新增 WinUI 3「日间/夜间主题设置…」窗口(与查看器同一程序,--settings 模式):
    • 开关、两个 24 小时制时间选择器、取消 / 保存;显示当前系统主题(深色 / 浅色)。
  • 开启自动切换时会检测其它主题工具(Auto Dark Mode / PowerToys Light Switch),

版本

  • 主程序 1.3.0(程序集 1.3.0.0);WinUI 3 查看器 / 设置窗口 1.3.0。

兼容与限制

  • 主题设置保存在 HKCU\Software\ScreenStay:AutoTheme、ThemeDayStart、ThemeNightStart。
  • 若同时运行 Auto Dark Mode / PowerToys Light Switch,两者会互相覆盖主题,请禁用其一。
  • 暂不切换壁纸(Auto Dark Mode 的壁纸功能),只切换浅色 / 深色主题。
  • 日间 / 夜间按本地时间固定时间段判断,不使用日出日落定位。

Windows 1.2.1

2026-11-04

界面优化

  • 「查看阻止休眠的程序」窗口改用 WinUI 3(Windows App SDK 2.6.5)实现:
    • 全新 Fluent Design 界面:Mica 背景、圆角卡片、Segoe UI 变量字体、强调色按钮;
    • 跟随系统浅色 / 深色主题自动切换;
    • 等宽字体展示进程列表,文本可选择,底部为「复制到剪贴板」+ 强调色「关闭」;
    • 窗口 1000×760,适配高 DPI(PerMonitorV2)。
  • 原 WinForms 查看窗口保留为回退方案:当 ScreenStay.Viewer\ 不存在、或系统缺少 Windows App Runtime 时自动使用内置窗口。

构建与打包

  • 新增 WinUI 3 查看器工程 viewer/,以及构建脚本 viewer\build-viewer.cmd / viewer\build-viewer.ps1(需要 .NET 8 SDK)。
  • 查看器采用框架依赖方式,输出约 37 MB,放在 ScreenStay.Viewer\ 子目录;主程序仍是约 85 KB 的单文件。
  • 便携包 zip 现在包含 ScreenStay.Viewer\ 目录;如果不需要 WinUI 3 窗口,可以删除该目录,程序会自动回退到内置窗口。
  • 修复构建脚本中中文注释导致的 PowerShell 解析问题(脚本改为纯 ASCII)。

版本

  • 主程序版本 1.2.1(程序集 1.2.1.0);查看器版本 1.2.1。

已知限制

  • WinUI 3 查看器需要系统安装 Windows App Runtime 2.6.5(本机已安装;缺少时自动回退内置窗口)。
  • 查看器体积约 37 MB(WinUI 3 依赖 Windows SDK 投影与 WinUI 运行时组件),主程序体积不受影响。

Windows 1.2.0

2026-11-04

新增

  • 右键菜单新增「查看阻止休眠的程序…」:
    • 读取 Windows 系统电源请求(powercfg /requests),列出当前持有显示 / 系统唤醒请求的进程及原因;
    • 浏览器、播放器、下载工具、会议软件等正在阻止熄屏的程序都会列出来;
    • 该数据受 Windows 限制,需要管理员权限:点击菜单后会弹出 UAC 提示,确认后才会读取;
    • 结果在独立窗口中显示,支持滚动查看和「复制到剪贴板」。
  • 右键菜单新增「关闭 Windows 弹窗提醒」:
    • 勾选后不再显示本程序的气泡 / 通知弹窗(启动提示、开关提示、自启提示等);
    • 设置会记忆(HKCU\Software\ScreenStay\Notifications),下次启动继续生效;
    • 再次点击即可恢复提醒。

内部实现

  • 新增隐藏参数 --dumprequests <报告文件>:以管理员身份运行时调用 powercfg /requests 收集输出并写入报告文件,供主实例展示。
  • 新增隐藏参数 --viewrequests <报告文件>:打开查看窗口(用于调试 / 脚本调用)。
  • 新增 RequestsViewer 窗口(只读文本 + 复制 + 关闭),自动规范化换行,使用 Consolas 字体显示进程路径。
  • 新增通知开关持久化;所有气泡 / 通知弹窗统一经过 ShowBalloon 并受该开关控制。
  • 自检项增加到 7 项(新增弹窗提醒开关读写检查)。
  • 版本号升级为 1.2.0(程序集 1.2.0.0,产品 1.2.0)。

升级说明

  • 直接覆盖 exe 即可,原有设置(智能模式开关、通知开关)与开机自启项都会保留。
  • 旧版正在运行时请先「右键托盘图标 → 退出」再覆盖。

已知限制

  • 「查看阻止休眠的程序」每次打开都会触发一次 UAC 提权(Windows 只允许管理员读取电源请求,属于系统限制)。
  • 极少数系统(没有电源请求或 powercfg 不可用)可能显示空列表或错误信息。

Windows 1.1.0

2026-11-04

功能变更

  • 「保持屏幕常亮」升级为「播放音视频时保持屏幕常亮」的智能模式:
    • 开启后每 3 秒检测一次系统音频会话(WASAPI),判断是否有音乐 / 视频正在播放;
    • 检测到播放时,才阻止屏幕关闭与系统空闲睡眠,并自动点亮已关闭的屏幕;
    • 没有播放时(播放结束后再缓冲 10 秒),立即撤销唤醒请求,把熄屏 / 睡眠交还给 Windows 电源管理;
    • 静音播放同样能识别(音频会话仍为 Active),所以静音看视频也会保持屏幕常亮。
  • 托盘图标新增「监测中」状态,共三种:
    • 绿色 + 太阳:正在播放,保持屏幕常亮;
    • 绿色 + 暂停符号:已开启监测,等待播放;
    • 灰色 + 红斜杠:已关闭。
  • 右键菜单顶部新增「状态」行,实时显示当前状态;开关项文字改为「播放音视频时保持屏幕常亮」。
  • 启动提示、双击切换、使用说明等文案同步更新。

内部实现

  • 新增 MediaDetector(WASAPI / IAudioSessionManager2):枚举默认音频设备上的音频会话,检查会话状态是否为 Active,并正确释放 COM 对象。
  • 新增 3 秒监测定时器与「播放结束后 10 秒缓冲」,避免切歌 / 缓冲间隙反复切换电源请求。
  • 自检新增「音频会话检测接口可用」和三图标资源检查,自检项由 5 项增加到 6 项。
  • 版本号升级为 1.1.0(程序集版本 1.1.0.0,产品版本 1.1.0)。

兼容与升级

  • 设置项沿用 HKEY_CURRENT_USER\Software\ScreenStay\Awake,含义变为「智能模式开关」,升级后保留原有开关状态。
  • 开机自启动键名不变(HKCU\...\Run\ScreenStay),覆盖 exe 后原启动项继续有效。
  • 若旧版 exe 正在运行,请先「右键托盘图标 → 退出」再覆盖安装。

已知限制

  • 检测基于默认音频设备的音频会话:
    • 完全没有声音的视频/音频(例如纯静音音轨)仍会被识别为播放(会话处于 Active);
    • 使用 ASIO 或独占直通、不经过 Windows 音频引擎的极少数播放器可能检测不到;
    • 多设备同时播放时,只要默认设备上有会话即可识别。
  • 程序没有数字签名,SmartScreen / 安全软件可能提示,请选择「仍要运行」或加入信任。

Windows 1.0.0

2026-10-28
  • 首个版本。
  • 托盘常驻,右键菜单开关「保持屏幕常亮」/「开机自动启动」。
  • 通过 SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) 无限期阻止屏幕休眠与系统睡眠。
  • 左键双击托盘图标快速切换;状态记忆、单实例;开机自启动(HKCU Run,无需管理员)。
  • 两种状态图标:绿色 + 太阳(开启)、灰色 + 红斜杠(关闭)。
  • 命令行自检:ScreenStay.exe --selftest 报告.txt。

02升级建议

Mac:从任意旧版本升级,请使用 1.2.3。 如果之前注册过开机自启,移动 App 到 Applications 后,建议在右键菜单中关闭再重新打开一次“开机自启”。升级不会清除已有偏好设置:总开关、严格模式、登录项状态都会保留。
Windows:建议使用 1.5.3 安装包。 旧版正在运行时请先「右键托盘图标 → 退出」再安装或覆盖;安装包会清理旧版 KeepAwake 的开机启动项,旧设置会自动迁移到 HKCU\Software\ScreenStay。