Я пытаюсь создать код для автоматического обнаружения пропадания VPN-подключения и общего подключения к Интернету (а также при повторном подключении к обоим).
Я пробовал AddHandler с VpnApiClass (каждое действиев intellisense) и NetworkChange.NetworkAvailabilityChanged.NetworkChange.NetworkAvailabilityChanged работает для отбрасывания интернета, но не в том случае, если пропадает только VPN.
'''''VB.NET:
Private Sub Main_Load(sender As Object, e as EventArgs) Handles MyBase.Load
Dim tmpVpn as New NpnApiClass
AddHandler tmpVpn.VpnStateNotification, AddressOf NetworkConnectionChanged
AddHandler tmpVpn.VpnEventAvailableNotification, AddressOf NetworkConnectionChanged
AddHandler NetworkChange.NetworkAvailabilityChanged, AddressOf NetworkConnectionChanged
End Sub
Private Sub NetworkConnectionChanged()
'''''Note: CommonElements is a dll file I'm referencing, function returns a boolean (True if connected, False if disconnected).
If Not CommonElements.isConnectedToNetwork_NetworkInterface() Then
Main.AddFiles.Enabled = False
Main.RemoveFiles.Enabled = False
Status.Text = "Disconnected"
Else
Main.AddFiles.Enabled = True
Main.RemoveFiles.Enabled = True
Status.Text = "Connected"
End If
End Sub
Ожидается отображение кнопок на главной форме, кнопки отключения и обновления текста метки состояния при отключении от VPN.Затем включите кнопки и обновите текст метки состояния при повторном подключении к VPN.Вместо этого он ничего не обновляет, кроме как вытянуть шнур Ethernet из моего ноутбука.Нет ошибок или необработанных исключений.