这个问题已经有了答案:
Check the reason the computer resumed from hibernation
2答
我想从事件查看器(Windows10)打印唤醒源。
有没有方法可以访问事件查看器->系统日志,搜索:Source: Microsoft-Windows-Power-Troubleshooter
最新事件,分析事件消息并打印唤醒源?
以下是事件日志的示例:
Index : 2841
EntryType : Information
InstanceId : 1
Message : The system has resumed from sleep.
Sleep Time: 2010-10-01T19:19:37.239789600Z
Wake Time: 2010-10-01T21:28:48.921200800Z
Wake Source: 4HID Keyboard Device
Category : (0)
CategoryNumber : 0
Source : Microsoft-Windows-Power-Troubleshooter
最佳答案
对于任何关心解决方案的人-我成功地做到了以下几点:
/// <summary>
/// Get Last Wake Event Entry
/// </summary>
/// <param name="wakeMessage"></param>
/// <returns></returns>
private static EventLogEntry GetLastWakeEventEntry(out string[] wakeMessage)
{
wakeMessage = null;
EventLogEntry wakeEntry = null;
//Open system event log of current user
var eventLog = new EventLog("System", ".");
//Get all event log entries
var entries = eventLog.Entries;
//Start from the latest event message until finding the wake event log
for (int i = entries.Count - 1; i >= 0; i--)
{
if (entries[i].Source == "Microsoft-Windows-Power-Troubleshooter" && entries[i].InstanceId == 1)
{
wakeEntry = entries[i];
wakeMessage = Regex.Split(entries[i].Message, @"([\r\n])");
break;
}
}
return wakeEntry;
}
给定最后一个唤醒条目和唤醒消息,可以解析唤醒源(通常是最后一个消息行)的消息,并显示给定唤醒条目的相关信息。
希望有帮助。
关于c# - 如何打印计算机唤醒源? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38519838/