0

我目前正在将事件消息写入操作系统的事件查看器(windows 7),我正在使用 c# & .net framework 4

当我使用前端查看我记录的消息时,我可以看到有可能通过前端向特定消息添加任务。

我的想法是响应事件查看器上的特定错误。

就像将错误处理程序添加为“任务”(在事件查看器上调用)

这可能以编程方式吗?(我知道可以通过前端)

谢谢

4

2 回答 2

0

在我做了一些研究之后,我想要的是:

public class EventViewer()
{
    EventLog _eventlog;

    public void createandreferenceEventViewer(string sLogNameTrimmed)
    {
            //Creates or reference the default Event Viewer
            if (!EventLog.SourceExists(sLogNameTrimmed))
            {                
                EventLog.CreateEventSource(sLogNameTrimmed, sLogNameTrimmed);
                Thread.Sleep(500); // Event viewer need latency to allow being written 
            }
            // Connect to the newly created / existing Log
            _eventlog = new EventLog(sLogNameTrimmed);
            _eventlog.Source = sLogNameTrimmed;
            _eventlog.EntryWritten += WrittenEntryEventHandler;
            _eventlog.EnableRaisingEvents = true;
    }

    void WrittenEntryEventHandler(object source, EntryWrittenEventArgs e)
        {
            switch (e.Entry.EntryType)
            {
                case EventLogEntryType.Error:
                        DO_ERROR_HANDLING_HERE();
                    break;
                case EventLogEntryType.Warning :
                        DO_WARNING_HANDLING_HERE();
                    break;
                default:
                    DO_DEFAULT_HANDLING_HERE();
                    break;
            }
        }
}

其中WrittenEntryEventHandler将响应写入事件查看器的所有条目。然后我们可以过滤或添加每种类型的事件处理程序。感谢那些花时间阅读问题本身的人

谢谢

于 2014-02-20T17:12:57.247 回答
0

Task Scheduler Managed Wrapper将允许您执行此操作。请特别查看允许您连接到 Windows 事件的 EventTrigger。示例页面有一个非常基本的示例。

于 2014-02-20T10:58:12.500 回答