如何在C#.net中读取Windows XP中的事件查看器日志

时间:2016-09-08 13:21:41

标签: c# event-viewer

我使用下面的XML查询来读取系统"打开事件"来自事件查看器的过去24小时。

string query = "<QueryList>" +
                "<Query Id=\"0\" Path=\"System\">" +
                "<Select Path=\"System\">*[System[(EventID=6005) and TimeCreated[timediff(@SystemTime) &lt;= 86400000]]]</Select>" +
                "</Query>" +
                "</QueryList>";

它适用于Windows 7及更高版本,但在Windows XP上,我收到以下错误:

  

错误:此平台不支持操作

有人可以帮助您从C#.net?

中的事件查看器中阅读Windows XP中的“启用”事件

1 个答案:

答案 0 :(得分:1)

首先使用XPpath引入Vista过滤。对于XP,您必须使用EventLog class使用其他实现。

Example:

EventLog aLog = new EventLog();
aLog.Log = "Application";
aLog.MachineName = ".";  // Local machine

string message = "\'Service started\'";

foreach (EventLogEntry entry in aLog.Entries)
{
    if (entry.Source.Equals("tvNZB")
     && entry.EntryType == EventLogEntryType.Information)
    {
        if (entry.Message.EndsWith(message))
        {
            //write it somewhere
        }
    }
}