C++ 如何强制;它';“现在可以安全地关闭计算机了”;关闭时在Windows XP中显示屏幕?

C++ 如何强制;它';“现在可以安全地关闭计算机了”;关闭时在Windows XP中显示屏幕?,c++,C++,我正在寻找一种方法,强制Windows XP Pro SP3在关机时显示“现在可以安全地关闭计算机”屏幕 背后的原因是,我希望我的UPS在某个时候关闭/打开电源,并且电脑应该在电源循环后再次自动启动。在BIOS中,可以对其进行配置,使电脑在看到电源恢复时自动开机,但前提是电脑在电源最初关闭前正在运行 在Windows XP

我正在寻找一种方法,强制Windows XP Pro SP3在关机时显示“现在可以安全地关闭计算机”屏幕

背后的原因是,我希望我的UPS在某个时候关闭/打开电源,并且电脑应该在电源循环后再次自动启动。在BIOS中,可以对其进行配置,使电脑在看到电源恢复时自动开机,但前提是电脑在电源最初关闭前正在运行

在Windows XPEWX\u SHUTDOWNuFlags参数调用
ExitWindowsEx
强制执行此操作

有关详细信息,请参阅

那么,为什么在SP1及更高版本中删除了该选项


还有别的办法吗?

经过两天的搜索,我终于解决了这个问题,事实上是我的一位同事:-)

有关详细信息,请阅读本文:

从本质上讲,它可以归结为跑步:

reg add HKLM\Software\Policies\Microsoft\Windows NT /v DontPowerOffAfterShutdown /t REG_DWORD /d 1 /f

然后从我的应用程序中调用带有选项的
EWX\u SHUTDOWN
调用
ExitWindowsEx

我怀疑当时计算机都配备了ACPI电源功能(和硬件),允许软件关闭计算机。XP也在其一生中显著改进,以在中天活动中优雅地处理断电事件。以前,如果您还记得,我想您的用例还不够普遍,那么在不“允许”的情况下关闭会导致各种各样的问题。想不出一个防炸弹的解决办法。也许您可以强制注销—不确定这样做是否能安全地关闭所需的程序。@phuclv我看到您在BIOS中也遵循了:PGo并查找交流电源丢失选项。大多数(如果不是所有的话)计算机可以在电源恢复后配置为三种状态之一-打开、关闭或返回到最后一种状态。我通常把我所有的电脑都设置为“打开”,因为我希望在停电后,在我不在的情况下,它们能继续工作,如果需要,我可以随时远程关闭它们。这也适用于Windows 10。这是我关闭windows所必需的,以避免windows启动的损坏/恢复-我使用
wizmo.exe静默退出关闭计算机,它关闭了,但仍然通电,大约一分钟后,我用定时器关机,创建失败的电源状态,但windows成功关闭。使用定时器再次打开后,它将恢复以前的电源状态(该状态为打开状态),我已创建了由定时器控制的Windows PC。@Deele为什么需要创建失败的电源状态,您不能将BIOS设置为在交流电源断电后自动通电吗?此外,大多数生物传感器每天都可以在特定时间通电,因此自90年代末以来,在没有任何额外硬件的情况下,始终可以在特定时间打开和关闭它们。