2012-01-13 32 views
0

我在使用WMI監視事件日誌時試圖獲取事件ID的問題很少。這裏是我的代碼:WMI輸入已到達事件正在訪問事件ID

private static void EventLogMonitor(object sender, EventArrivedEventArgs e) 
{ 
    int realEventId = (int)(e.NewEvent.Properties["EventID"].Value); 
    ... 

但它沒有拿起我的事件ID,只是拋出一個異常。有人知道應該用什麼來代替上述代碼行中的「EventID」,以便我可以訪問觸發此處理程序的事件日誌條目寫入事件的事件ID?

回答

0

我發現瞭如何做到這一點,對別人說這裏發現這個有用的是代碼:

private static void EventLogMonitor(object sender, EventArrivedEventArgs e) 
{ 
    ManagementBaseObject targetInstance = (ManagementBaseObject)e.NewEvent 
                .GetPropertyValue("TargetInstance"); 
    UInt16 EventId = (UInt16)(targetInstance.GetPropertyValue("EventCode"));