NoSleep 防休眠工具:3 分钟装好,再不被半夜黑屏打断
【免费下载链接】NoSleepLightweight Windows utility to prevent screen locking项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep
凌晨三点,我趴在床边,从窗帘缝里瞄了一眼屏幕。 下载进度条停在 97%,那是我当天睡得最踏实的一觉。 早上回来,屏幕黑着,进度条卡在 41%。 不是没电,也不是网断了, 而是 Windows 看我半天没碰键盘, 自作主张地"睡了过去"。NoSleep就是为这种时刻准备的 Windows 轻量工具, 它只做一件事:防止屏幕锁定和系统休眠。 它安静地住在系统托盘里, 需要时替你对着 Windows 说一句:"主人还忙着呢。"
元凶不是网络,是电源策略
这种"被背刺"的事故,远不止下载一种。 大文件下到 98%,一觉醒来变 3% 重来; 远程会议讲到一半屏幕暗了, 镜头那头看见你自己茫然的脸; 挂着监控脚本过夜,早上进程没了, 一整晚白跑。 根源都只有一个:默认电源策略替你做主—— 键盘鼠标长时间没动静, 就关屏、休眠、锁屏,按计划执行。 它的初衷是省电, 可当你正需要电脑"醒着干活"时, 这份好意就变成了灾难。 NoSleep 不会改这些设置, 它只是站在门口,需要时推系统一把。
先拆掉三个误会
它不是电源管理软件。不碰你的电源计划,不改注册表里的休眠超时, 也不新建任何服务。 系统设置装前装后一个样。
它不是大而全的效率套件。没有仪表盘,没有一堆用不上的按钮。 整个程序连图标打包只有 180KB 出头, 运行内存通常几 MB,CPU 近乎为零, 打开任务管理器都很难在列表里找到它。
那它到底是什么? 一个住在系统托盘里、只做一件事的小门卫: 你叫它干活时,它每 10 秒敲一次 Windows 的门, 系统以为"主人一直在用电脑", 屏保不启动、休眠不触发、锁屏不来; 你点一下就让它退开, 舞台交还给系统默认策略。
要说出身,它借鉴了 Linux 圈 Caffeine 的思路—— "咖啡因"的意思就是"给电脑提神", NoSleep 把这件事搬到了 Windows 上。
从领到上手,就三个小站
领咖啡杯:一条命令装好
最省事的方式是用 Scoop 包管理器, 相当于软件的"便利店",一条命令领回家:
scoop bucket add extras scoop install extras/nosleep想自己动手的,也可以从源码构建:
git clone https://gitcode.com/gh_mirrors/nos/NoSleep cd NoSleep/Sources && dotnet build -f net8.0-windows -c ReleaseWindows 10 及以上大多自带 .NET Framework 4.8, 普通用户拿到程序后不需要再装任何运行环境。
第一次左键:图标会"变脸"
双击运行后它不弹窗口, 直接缩进右下角的系统托盘。 左键点一下是启用,图标变成咖啡杯 ☕; 再点一下是禁用,图标变成睡觉脸 💤, 状态一眼可见,比任何设置页都直观。
右键菜单:四件小事
开机自启动、保持屏幕开启、记住启用状态、关闭, 各司其职,组合起来一张表:
| 防休眠 | 保持屏幕开启 | 系统行为 | 屏幕行为 | 适合场景 |
|---|---|---|---|---|
| ✅ | ✅ | 绝不休眠 | 永远亮屏 | 演示、直播、会议 |
| ✅ | ⬜ | 绝不休眠 | 可正常熄屏 | 下载、渲染、跑批 |
| ⬜ | 任意 | 完全交给系统 | 完全交给系统 | 日常使用,不干预 |
前两行的差别就是"清醒"和"清醒且亮屏": 挂机渲染时屏可以熄,省着显示器; 演示直播时屏幕一秒都不能黑。
v1.4.0 还有个聪明玩法:应用监控。 把几个程序加进名单, 名单里任何一个在运行,它就自动启用; 名单全没在跑,它自动把自己关掉。 加个 Visual Studio 进去,写代码时它就一直醒着; 关掉 IDE 它立刻放权, 防休眠终于不用二十四小时硬扛。
三个"我以为",和真相
"我以为装了它,电脑就永不睡觉,电池要完。"真相恰恰相反。 它默认只在你"点了启用" 或"监控的应用在运行"时才干预系统, 其余时间什么都不做, 系统该省电就省电。 它是听话的门卫,不是固执的看守。
"我以为这种工具肯定偷偷改了设置。"全程不改任何东西。 它只是每 10 秒调用一次 Windows 官方 API, 反复告诉系统"我在用"; 关闭 NoSleep 的那一瞬间, Windows 立刻恢复原样,了无痕迹。 对管理严格的企业环境,这是"零风险"。
"我以为它要占不少资源。" 程序不到 200KB,运行时几 MB 内存, CPU 趋近于零。 有些通用型工具光常驻就吃掉几十上百 MB 内存, 就为"别让我睡着"这一个需求, 没必要付这个价。
原理揭秘:每 10 秒递一杯咖啡
一句话原理:Windows 判断你是否活跃, 靠的是"空闲计时器"—— 鼠标键盘多久没动,就决定休眠与否。 NoSleep 做的事很简单: 每 10 秒调用一次SetThreadExecutionState, 把这个计时器重置掉。
好比自习室里有个同学在打瞌睡, 你每隔十秒给他递一杯咖啡, 他就一直"保持清醒",而你什么都不用做。 代价就是几口咖啡的成本: 几 MB 内存,CPU 近乎为零。
想深挖的看源码:Windows API 封装 WinU.cs 不过几十行, 托盘与菜单交互逻辑在 TrayIcon.cs, 完整构建说明见 BUILD.md。 项目同时支持 .NET Framework 4.8 与 .NET 8.0 两种目标框架,开发者可以挑顺手的路上手。
那次 97% 之后
开头的下载停在 97% 那晚, 现在我看着进度条走,可以放心去倒水、接电话, 甚至去阳台透口气。 回来时条还在走,屏幕还亮着, 右下角那个咖啡杯安安静静地亮着。
NoSleep 没有改你的任何系统设置, 它只是在你需要的时候, 替你守住了那扇不该关上的门。 好工具大概就是这样: 需要时感觉不到它的存在, 回头时它一直在。
【免费下载链接】NoSleepLightweight Windows utility to prevent screen locking项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考