【问题标题】:Delay or block windows hibernation/shutdown延迟或阻止 Windows 休眠/关闭
【发布时间】:2014-03-07 08:07:08
【问题描述】:

我目前正在尝试创建一个应用程序来延迟计算机的暂停或休眠,以便在暂停之前正常关闭应用程序。到目前为止,我可以使用“SystemEvents_PowerModeChanged”事件处理程序触发事件,尽管我无法延迟甚至阻止我 PC 上的睡眠计时器。

现有代码:

void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
    if (e.Mode == PowerModes.Suspend)
    {
        //delay
        //graceful shutdown

    }

虽然没有为应用程序分配足够的时间以正常运行,但该事件确实触发并且应用程序开始。

有可能吗?

【问题讨论】:

  • 你只能礼貌地要求windows延迟关闭,如果你的程序阻塞时间过长,windows会给用户强制终止应用程序的选项。最重要的是,如果每个应用程序在关闭时发出优雅退出的信号,则无需对此事件进行任何额外处理。在关闭时编码时请记住这一点。

标签: c# winforms windows-7


【解决方案1】:

尽管以下链接适用于 Windows Vista,但它可能会给您一些指导:

  1. How to block/cancel standby/hibernate operation in Windows Vista
  2. How to prevent hibernate/suspend on a desktop in Vista

【讨论】:

    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多