如何防止 Application.SetSuspendState 关闭系统?

Posted

技术标签:

【中文标题】如何防止 Application.SetSuspendState 关闭系统?【英文标题】:How to prevent Application.SetSuspendState from shutting down the system? 【发布时间】:2019-11-11 12:11:35 【问题描述】:

我尝试在按钮事件中使系统休眠:

Application.SetSuspendState(PowerState.Hibernate, true, true)

它开始正常,屏幕关闭,一段时间后电脑关闭。当我重新打开时,它的行为就像重新启动一样。什么都没有恢复。

我看到启动顺序没有恢复活动的迹象,也没有显示任何错误(“恢复失败”没有出现)。

如果执行此操作会关闭系统,我该如何解决此问题?

【问题讨论】:

根据文档Application.​Set​Suspend​State,您所描述的似乎是预期的行为。重新打开计算机后,正在运行的应用程序是否已恢复? @RobertBaron 没有恢复。好像是关机 如果您知道某台计算机在手动设置为休眠状态时,在重新打开时正确恢复其活动状态,请尝试在该计算机上运行您的应用程序。如果您与当前计算机的行为相同,则问题很可能出在您的应用程序上,否则,两台计算机之间肯定存在差异,导致一台正常工作而另一台不能正常工作。 我会定期手动休眠这台电脑……但我会做测试 我再次运行代码并运行良好。进一步测试表明,由于灰尘堆积,工作站容易过热。 【参考方案1】:

不确定我是否必须关闭问题。 无论如何:我再次运行代码并且运行良好。进一步测试表明,由于灰尘堆积,工作站容易过热(CPU 温度为 80°C 或更高)。

我已切换到挂起而不是休眠作为解决方法:它更快且基本相同,除非需要完全关闭电源。我怀疑在磁盘上转储 RAM 的过程导致温度升高太多。

【讨论】:

以上是关于如何防止 Application.SetSuspendState 关闭系统?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止超卖

在winform当中提交数据,如何防止重复提交?

PostgreSQL如何防止表太大?

如何彻底防止SQL注入?

如何防止VBS的错误提示

https如何防止会话劫持