适用于Cisco AnyConnect的AddHandler

时间:2019-06-03 02:21:21

标签: vb.net vpn addhandler

我正在尝试创建代码以自动检测VPN连接和常规Internet连接(以及重新连接到这两者时)的断开状态。

我已经尝试使用VpnApiClass(智能感知中的每个动作)和NetworkChange.NetworkAvailabilityChanged的AddHandler。 NetworkChange.NetworkAvailabilityChanged可用于Internet断开,但不适用于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时更新状态标签文本。取而代之的是,它不会更新从笔记本电脑拉出以太网线的任何内容。没有错误或未处理的异常。

0 个答案:

没有答案