我有一个 Windows 服务需要在 24 小时内运行的 PC 上运行。
我不能依赖禁用 sleep /关机的 PC,因为它安装在大约 3500 个站点上,X、Y 或 Z 可能意味着 sleep /关机未被禁用。
有没有一些简洁的 .NET 方法可以防止 Windows 打盹?
或者定期写入文件(比如每分钟写入一次日期)就足够了?
请不要横向/不良做法警告“你不应该强制那种事情,把它留给计算机”回答。我的工作是确保该程序在客户的计算机上实现这一点!
干杯!
编辑:
[大大的叹息]
像往常一样,横向不禁评论。我确实试图劝阻避免不得不拼出自己的理由,但是,嘿。它没有用。人们认为我试图接管“他们的”计算机。
它适用于企业客户,它监控安全硬件上的操作并记录下来。就像有人用电子 key 开门一样。
由于门需要每天 24 小时运行,他们显然希望每天 24 小时记录。
这不是犯罪。他们有很多他们希望发生这种情况的网站。他们不能依赖那里的工作人员关闭休眠/ sleep 功能。所以他们要求我确保它能够存活。
再说一遍,这真的不是犯罪。有时这些事情必须发生。
我讨厌必须证明我在这里提出的每一个问题。现实世界并不像我们所希望的那样整洁和蓬松。
在更积极的方面,非常感谢那些帮助过的人!
最佳答案
看看SetThreadExecutionState API。它使您能够通知系统您的应用程序处于事件状态,以便计算机不会进入休眠状态
关于.net - 我可以让我的服务阻止 Windows 进入休眠状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1630765/