【发布时间】: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会给用户强制终止应用程序的选项。最重要的是,如果每个应用程序在关闭时发出优雅退出的信号,则无需对此事件进行任何额外处理。在关闭时编码时请记住这一点。