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