1
我有一个应用程序,需要获得最后一次关机时间。我使用EventLog类来获取关机时间。我有单独的类文件,旨在读取/写入事件日志。 ReadPowerOffEvent函数旨在获取关机事件。如何获得最后一次关机时间使用C#
public void ReadPowerOffEvent()
{
EventLog eventLog = new EventLog();
eventLog.Log = logName;
eventLog.MachineName = machineName;
if (eventLog.Entries.Count > 0)
{
for (int i = eventLog.Entries.Count - 1; i >= 0; i--)
{
EventLogEntry currentEntry = eventLog.Entries[i];
if (currentEntry.InstanceId == 1074 && currentEntry.Source=="USER32")
{
this.timeGenerated = currentEntry.TimeGenerated;
this.message = currentEntry.Message;
}
}
}
}
但是,只要它试图获取事件条目数,就会抛出一个IOException,指出“找不到网络路径”。我试图解决,但我失败了。请帮助我...
您可以使用[本答案] [1]确定使用WMI的正常运行时间。 [1]:http://stackoverflow.com/questions/972105/retrieve-system-uptime-using-c-sharp – Kane
我觉得这个老问题的帮助you.http://stackoverflow.com/问题/ 1631933 /获取日期时间的最后窗口关闭事件使用网 –
@凯恩,我做了这个系统时间的事情已经在我的应用程序。我的问题是要获取PC上次关机的时间,并检测它是关机事件还是重新启动并计算关机时间。这就是为什么我需要使用EventViewer。反正,谢谢。 – jchoudhury