ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

3分钟读懂NoSleep防休眠工具:绕过5个新手常踩的坑,让Windows不再偷偷入睡

3分钟读懂NoSleep防休眠工具:绕过5个新手常踩的坑,让Windows不再偷偷入睡 3分钟读懂NoSleep防休眠工具绕过5个新手常踩的坑让Windows不再偷偷入睡【免费下载链接】NoSleepLightweight Windows utility to prevent screen locking项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep你的电脑是不是总在你最不想让它睡的时候睡着正在给客户演示方案屏幕先暗了下去凌晨挂机同步几百GB素材到NAS回来发现任务中断开直播时人离开喝口水回来弹窗问你要不要继续直播。Windows的自动休眠本意是省电可它从不分辨你此刻是闲是忙。NoSleep防休眠工具轻量级Windows防休眠实用程序就是为解决这个错位而生的一个不装服务、不写注册表、甚至不要管理员权限的托盘小程序能让电脑在你需要时始终保持清醒。今天这篇文章我用新手最容易踩的5个坑作线索带你把它一次玩明白。坑一以为改电源设置就能一劳永逸很多人的第一反应是去控制面板→电源选项把睡眠设为从不。但这条老路有三个漏洞公司电脑改不了组策略锁死电源设置选项是灰的临时需求犯不着改只是今晚挂机传文件改完全局设置回头还得改回来显示器策略和系统策略是两回事你关了系统睡眠屏幕仍可能按自己的时间线熄灭。NoSleep的思路完全不同——它不去碰你的电源计划而是每10秒调用一次Windows的SetThreadExecutionState函数重置系统与显示器的空闲计时器。系统每次想这人10分钟没动了睡吧都会被它轻轻按回去。原理上与Linux上大名鼎鼎的Caffeine一脉相承。这也解释了它为什么这么轻不常驻服务、不做驱动、没有任何后台驻留进程跑起来只占6-7MB内存磁盘体积约180KB。对你而言它是透明到几乎感觉不到存在的。坑二装个工具先被要管理员权限劝退防休眠的替代方案并非没有但多少有些劝退。以Windows自带的PowerToys Awake为例功能没问题可它要求管理员权限安装包又大在受管控的企业电脑上还未必装得上。对比一眼就清楚对比维度NoSleepPowerToys Awake管理员权限不需要需要内存占用6-7MB数十MB起步安装体积单文件约180KB安装包体积大应用监控自动启停支持不支持修改注册表不修改作为套件组成部分安装运行环境.NET Framework 4.8 或 .NET 8.0独立运行时核心区别在权限NoSleep的清单文件里声明的是asInvoker按调用者权限运行也就是说普通用户双击即用UAC弹窗一次都不会出现——这正是它敢在企业环境里自称绿色的底气。获取NoSleep的三种方式方式一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 Release构建产物会出现在Sources/NoSleep/bin/Release/net8.0-windows/目录其中win-x64/publish下是发布好的单文件可执行程序。若你的电脑没有安装.NET 8 SDK也可以走传统路线用Visual Studio打开Sources/NoSleep.sln直接编译 .NET Framework 4.8 版本——这个框架Windows 10/11自带无需任何额外安装。方式三从发布页面下载预编译版本解压即用。坑三防休眠一直开着笔记本哗哗掉电拿到手第一件事就是把功能常开先别急。NoSleep把控制权拆成了两个维度你可以按场景组合而不是一刀切Enabled主开关是否阻止系统休眠Keep screen on屏幕常亮是否同时阻止屏幕关闭。于是行为矩阵一目了然EnabledKeep screen on系统行为显示器行为开开阻止休眠始终亮屏开关阻止休眠可自动熄屏关任意恢复系统默认可自动熄屏怎么用这个矩阵挂机下载、跑数据任务时开Enabled 屏幕可关系统不睡、屏幕省电两不误演示、直播、看网课时再补上屏幕常亮。操作也很直觉左键单击托盘图标就是主开关图标在咖啡杯工作中和月亮待命中之间切换一眼就知道当前状态。坑四要么忘记开要么忘记关防休眠工具的通病是想用的时候不在用完忘了退。NoSleep用两个右键菜单项化解了这对矛盾Autostart at login开机自启勾选后程序会在当前用户的启动文件夹里放一个快捷方式Tools.cs里通过WScript.Shell动态创建下次登录自动就位根本不用你记着手动启动Remember enabled state记住启用状态勾选后NoSleep重启时会恢复到上次的启用/禁用状态不会每次都以默认状态冷启动。两个都勾上你就得到了一台该醒时自己醒、该睡时自己睡的电脑。想手动彻底退出右键选 Close程序会主动释放执行状态调用ES_CONTINUOUS复位不留任何后台残留。坑五想要自动却不知道它真的能自动这是NoSleep 1.4.0版本起最值得玩的功能应用监控Configure apps to monitor。它能做到的是——当列表里的某个程序正在运行时NoSleep自动开启防休眠当所有被监控的程序都关闭了它自动退场。举个例子。你的工作流是打开虚拟机跑数据标注流水线那就在监控列表里加上标注工具的 exe。机器开着防休眠自动生效标注工具一关防休眠立刻让位系统恢复正常的省电节奏。它就像一个智能哨兵只在特定进程活跃时值守。配置路径是右键托盘图标 →Configure apps to monitor→ 弹出窗口里用 Add 按钮选择exe文件程序会自动取文件名作为显示名称。还可以点Apps watching is DISABLED按钮整体开关这个功能按钮变绿色即启用。背后的逻辑也很扎实它用Win32 API读取进程的可执行文件路径做精确匹配读取失败时再回退到进程名匹配既不误判也不漏判。它的内幕其实很朴素把Sources/NoSleep/WinU.cs打开核心代码只有这么一层薄薄的封装[DllImport(kernel32.dll, CharSet CharSet.Auto, SetLastError true)] static internal extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);配合四个标志位就能表达全部行为ES_SYSTEM_REQUIRED重置系统空闲计时器阻止休眠ES_DISPLAY_REQUIRED重置显示器空闲计时器阻止熄屏ES_AWAYMODE_REQUIRED备用标记保留给需要假睡真跑的场景ES_CONTINUOUS让上述状态持续生效直到下次调用。程序启动时会用一个互斥锁Mutex保证单实例运行再开一个就是提示已在运行不会出现两个进程抢着防休眠的资源浪费。定时器每10秒重新上报一次状态CPU占用可以忽略不计。你可能想问的5个问题Q1它会阻止我手动锁屏吗不会。它只针对自动休眠和自动熄屏WinL手动锁定、屏保策略全都照常生效办公安全不受影响。Q2需要安装.NET运行时吗看版本。.NET Framework 4.8 分支的 exe 在Windows 10/11上开箱即用.NET 8.0 分支是单文件发布、不捆绑运行时也无需另装。Windows 7/8/10/11 均可用。Q3有没有可能和别的软件冲突设计上它不注入、不挂钩、不写服务只调用公开的系统API与杀软共存没问题。极少数安全软件误报时将 exe 加入白名单即可。Q4笔记本会不会因此特别耗电只有在Enabled 屏幕常亮同时开启时才持续耗屏显电量日常挂机用Enabled 屏幕可关组合耗电增量微乎其微。Q5监控的应用列表存在哪保存在用户级配置文件中Settings.Default.WatchedApps换机器不会同步属于本机设置符合它不写注册表、不留全局痕迹的极简定位。现在就把防休眠的主动权拿回来5个坑绕过来结论其实很简单NoSleep把防休眠这件事做成了零负担——不要权限、不占资源、不进后台服务、还能按应用自动启停。与其每次手动去改电源设置、再祈祷别忘改回来不如让这个托盘小图标替你值班。马上动手打开Scoop装好或克隆https://gitcode.com/gh_mirrors/nos/NoSleep构建一份勾上开机自启和记住启用状态再把常用长任务程序加进监控列表——接下来你可以放心地把电脑晾在那儿它不会再背叛你了。【免费下载链接】NoSleepLightweight Windows utility to prevent screen locking项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表