Как узнать название последнего используемого сетевого подключения? - PullRequest
0 голосов
/ 03 января 2012

У меня есть устройство (USB-модем), которое может установить в компьютер большое количество сетевых подключений, пользователь может изменить сетевое подключение в любой момент и может быть отключен в любой момент. тогда мне нужно получить последнее используемое сетевое соединение, это возможно? окна сохраняют это в любой вещи?

Приветствуются различные способы ее решения.

1 Ответ

0 голосов
/ 03 января 2012

Я не думаю, что вы можете получить «последнее соединение», но вы можете получить активное соединение, и вы также можете обнаружить «Сеть отключена / подключена» через события из пространства имен сети.

Этонекоторый код VB.Net, который я использовал ранее, но вы должны увидеть намерение.

Dim networkAvailable As Boolean = Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()
AddHandler System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged, AddressOf NetworkAddressChanged
AddHandler System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged, AddressOf NetworkAvailabilityChanged


Private Sub OutputNetworkAddresses(message As String, linePrefix As String)
    Dim adapters() As Net.NetworkInformation.NetworkInterface
    adapters = Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces
    For Each adapter As Net.NetworkInformation.NetworkInterface In adapters

        Dim properties As IPInterfaceProperties = adapter.GetIPProperties()
        For Each ipi As IPAddressInformation In properties.UnicastAddresses
            Dim ip As Net.IPAddress = ipi.Address
            If ip.IsIPv6LinkLocal Or ip.Equals(IPAddress.Any) Or ip.Equals(IPAddress.IPv6Any) Or IPAddress.IsLoopback(ip) Then
                'Debug.Print("IPv6=" & ip.ToString)
            Else
                Console.WriteLine(String.Format("{0} - {1}", linePrefix, ip.ToString()))
            End If
        Next
    Next
End Sub
...