我有一个应用程序在一段时间后执行特定任务(由计时器控制)。但每当我在hibernate之后启动PC时该应用程序就会运行。这意味着计时器在休眠期间保持运行至少一次。我怎么能避免这种情况。
答案 0 :(得分:17)
您可以处理SystemEvents.PowerModeChanged事件以在计算机挂起时停止计时器,并在恢复时再次启动计时器。
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
...
void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
if (e.Mode == PowerModes.Suspend) PauseTimer();
else if (e.Mode == PowerModes.Resume) ResumeTimer();
}