<System.ComponentModel.DefaultEvent("NetworkDisconnect")> _ Public Class NetConnectDisconnect Inherits System.ComponentModel.Component Private WithEvents WMIDisconnect As ManagementEventWatcher Private WithEvents WMIConnect As ManagementEventWatcher
Public Event NetworkDisconnect(ByVal sender As Object, ByVal e As NetworkEventArgs) Public Event NetworkConnect(ByVal sender As Object, ByVal e As NetworkEventArgs)
Private Sub SetUpWMI() WMIDisconnect = _ New ManagementEventWatcher("SELECT * FROM MSNdis_StatusMediaDisconnect") WMIConnect = _ New ManagementEventWatcher("SELECT * FROM MSNdis_StatusMediaConnect")
WMIDisconnect.Scope = _ New ManagementScope("root\WMI") WMIConnect.Scope = _ New ManagementScope("root\WMI")
WMIDisconnect.Start() WMIConnect.Start() End Sub
Private Sub WMIDisconnect_EventArrived(ByVal sender As Object, _ ByVal e As EventArrivedEventArgs) _ Handles WMIDisconnect.EventArrived 'Network Disconnected Dim instanceName As String instanceName = CStr(e.NewEvent.Properties("InstanceName").Value) RaiseEvent NetworkDisconnect(Me, New NetworkEventArgs(instanceName)) End Sub
Private Sub WMIConnect_EventArrived(ByVal sender As Object, _ ByVal e As EventArrivedEventArgs) _ Handles WMIConnect.EventArrived 'Network Connected Dim instanceName As String instanceName = CStr(e.NewEvent.Properties("InstanceName").Value) RaiseEvent NetworkConnect(Me, New NetworkEventArgs(instanceName)) End Sub
Public Sub New() SetUpWMI() End Sub End Class
Public Class NetworkEventArgs Private m_InstanceName As String Friend Sub New(ByVal instanceName As String) m_InstanceName = instanceName End Sub Public ReadOnly Property InstanceName() As String Get Return m_InstanceName End Get End Property End Class 供你参考
Imports System.Management
<System.ComponentModel.DefaultEvent("NetworkDisconnect")> _
Public Class NetConnectDisconnect
Inherits System.ComponentModel.Component
Private WithEvents WMIDisconnect As ManagementEventWatcher
Private WithEvents WMIConnect As ManagementEventWatcher
Public Event NetworkDisconnect(ByVal sender As Object, ByVal e As NetworkEventArgs)
Public Event NetworkConnect(ByVal sender As Object, ByVal e As NetworkEventArgs)
Private Sub SetUpWMI()
WMIDisconnect = _
New ManagementEventWatcher("SELECT * FROM MSNdis_StatusMediaDisconnect")
WMIConnect = _
New ManagementEventWatcher("SELECT * FROM MSNdis_StatusMediaConnect")
WMIDisconnect.Scope = _
New ManagementScope("root\WMI")
WMIConnect.Scope = _
New ManagementScope("root\WMI")
WMIDisconnect.Start()
WMIConnect.Start()
End Sub
Private Sub WMIDisconnect_EventArrived(ByVal sender As Object, _
ByVal e As EventArrivedEventArgs) _
Handles WMIDisconnect.EventArrived
'Network Disconnected
Dim instanceName As String
instanceName = CStr(e.NewEvent.Properties("InstanceName").Value)
RaiseEvent NetworkDisconnect(Me, New NetworkEventArgs(instanceName))
End Sub
Private Sub WMIConnect_EventArrived(ByVal sender As Object, _
ByVal e As EventArrivedEventArgs) _
Handles WMIConnect.EventArrived
'Network Connected
Dim instanceName As String
instanceName = CStr(e.NewEvent.Properties("InstanceName").Value)
RaiseEvent NetworkConnect(Me, New NetworkEventArgs(instanceName))
End Sub
Public Sub New()
SetUpWMI()
End Sub
End Class
Public Class NetworkEventArgs
Private m_InstanceName As String
Friend Sub New(ByVal instanceName As String)
m_InstanceName = instanceName
End Sub
Public ReadOnly Property InstanceName() As String
Get
Return m_InstanceName
End Get
End Property
End Class
供你参考