2012-01-13 1 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")); 
関連する問題