0

コンピューターに多くのネットワーク接続をインストールできるデバイス (USB モデム) があります。ユーザーはネットワーク接続をいつでも変更でき、いつでも切断できます。次に、最後に使用したネットワーク接続を取得する必要がありますが、可能ですか? ウィンドウはそれを保存しますか?

それを解決するさまざまな方法が歓迎されます。

4

1 に答える 1

0

「最後の接続」を取得できるとは思いませんが、アクティブな接続を取得でき、ネットワーク名前空間からのイベントを介して「ネットワークの切断/接続」を検出することもできます。

これは、私が以前に使用した 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
于 2012-01-03T00:55:09.440 に答える