当我使用WMI监视事件日志时,尝试获取事件ID时遇到一个小问题。这是我的代码:
private static void EventLogMonitor(object sender, EventArrivedEventArgs e)
{
int realEventId = (int)(e.NewEvent.Properties["EventID"].Value);
...
但它没有为我拿起事件ID,只是抛出异常。有没有人知道应该在上面的代码行中代替“EventID”,以便我可以访问触发此处理程序的事件日志条目写入事件的事件ID?
答案 0 :(得分:0)
我发现了如何做到这一点,因为在这里发现这个有用的任何人都是代码:
private static void EventLogMonitor(object sender, EventArrivedEventArgs e)
{
ManagementBaseObject targetInstance = (ManagementBaseObject)e.NewEvent
.GetPropertyValue("TargetInstance");
UInt16 EventId = (UInt16)(targetInstance.GetPropertyValue("EventCode"));