我希望在计算机或笔记本暂停之前捕获PowerModeChanged事件。
我的代码段如下:
void SystemEvents_OnPowerChanged(object sender, PowerModeChangedEventArgs e)
{
string fileName = DateTime.Today.ToString("yyyy-MM-dd") + ".txt"; //Den aktuellen Tag ermittlen
string time = DateTime.Now.ToString("HH:mm:ss"); //Die Zeit beim Eintreten des Events ermitteln
switch (e.Mode) //Event abfangen
{
case PowerModes.Resume: //Das Betriebssystem steht unmittelbar davor, aus dem Ruhezustand fortgesetzt zu werden, ...
LogToFile(fileName, " - " + time + " -> Pause."); //... sodass die Pause beendet ist.
lblStatus.Text = "Arbeit, Arbeit! :)";
break;
case PowerModes.Suspend: //Die Ausführung des Betriebssystems wird unterbrochen, ...
LogToFile(fileName, "\n" + time); //... sodass die Pause beginnt, also wird ein Zeilenumbruch hinzugefügt.
lblStatus.Text = "Luft filtern. :|";
break;
}
}
如果待机已完成,则会触发两次事件。第一个e.Mode等于Suspend,第二次e.Mode等于Resume。
如何暂停待机模式并将字符串保存到文件中? 为什么在Standby之后事件被触发了两次,虽然它应该在之前和之后触发一次?