WMI监听系统日志,在Server2003下运行的很好,但是在2000下总是报错说:拒绝访问(调试时看到)
Imports System.management
Module Module1
Sub main()
' Initialize an event watcher and subscribe to
' events that match this query
'Dim objwmiservices As Management.ImpersonationLevel = ImpersonationLevel.Impersonate
Dim QueryString As String = "SELECT * FROM __InstanceCreationEvent WITHIN " & 5
QueryString = QueryString & " WHERE TargetInstance ISA ""Win32_NTLogEvent"""
Dim watcher As New ManagementEventWatcher(New EventQuery(QueryString))
' Set up a listener for events
Dim handler As New EventHandler
AddHandler watcher.EventArrived, AddressOf handler.HandleEvent
' Start listening
watcher.Start()
MsgBox("事件监听已经启动!")
' Do something in the meantime
System.Threading.Thread.Sleep(-1)
' Stop listening
'watcher.Stop()
End Sub
End Module
Public Class EventHandler
Public Sub HandleEvent(ByVal sender As Object, ByVal e As EventArrivedEventArgs)
Console.Write("OK")
End Sub
End Class
Module Module1
Sub main()
' Initialize an event watcher and subscribe to
' events that match this query
'Dim objwmiservices As Management.ImpersonationLevel = ImpersonationLevel.Impersonate
Dim QueryString As String = "SELECT * FROM __InstanceCreationEvent WITHIN " & 5
QueryString = QueryString & " WHERE TargetInstance ISA ""Win32_NTLogEvent"""
Dim watcher As New ManagementEventWatcher(New EventQuery(QueryString))
' Set up a listener for events
Dim handler As New EventHandler
AddHandler watcher.EventArrived, AddressOf handler.HandleEvent
' Start listening
watcher.Start()
MsgBox("事件监听已经启动!")
' Do something in the meantime
System.Threading.Thread.Sleep(-1)
' Stop listening
'watcher.Stop()
End Sub
End Module
Public Class EventHandler
Public Sub HandleEvent(ByVal sender As Object, ByVal e As EventArrivedEventArgs)
Console.Write("OK")
End Sub
End Class