.net - 我可以让我的服务阻止 Windows 进入休眠状态吗?

标签 .net windows-services

我有一个 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/

相关文章:

c# - INotifyPropertyChanging 接口(interface)如何帮助限制内存消耗

.net - 可为空且类型化的数据集,某处是否有生成器?

visual-studio - 安装新版本软件时如何消除 "The specified service already exists"?

c# - 使用 C# 的文件路径

c# - Windows 服务的 ResumeAutomatic 和 ResumeSuspend 模式之间的区别

.net - 如何使用缓存任务缓存 Azure Pipelines 中所有项目的 nuget 包

.net - Azure devops 构建失败 NETFramework,版本=v4.6.1”未找到

c# - 在 C# 中解析带有文字的文本文件

python - 无法访问作为 Windows 服务运行的 Python 服务器

wcf - 优雅地终止 WCF 服务 - 完成所有打开的 session 并限制新 session