1
那麼,我有設備(USB調制解調器)可以在電腦上安裝很多網絡連接,用戶可以隨時改變網絡連接,隨時都可以斷開連接。那麼我需要獲得最後一次使用的網絡連接,這可能嗎?窗戶保存在任何東西?任何幫助表示讚賞。歡迎各種各樣的解決方法。謝謝!如何獲取上次使用的網絡連接的名稱?
那麼,我有設備(USB調制解調器)可以在電腦上安裝很多網絡連接,用戶可以隨時改變網絡連接,隨時都可以斷開連接。那麼我需要獲得最後一次使用的網絡連接,這可能嗎?窗戶保存在任何東西?任何幫助表示讚賞。歡迎各種各樣的解決方法。謝謝!如何獲取上次使用的網絡連接的名稱?
我不認爲你可以得到「最後一次連接」,但你可以獲得活動連接,並且你也可以通過來自網絡命名空間的事件檢測到「網絡斷開/連接」。
這是我以前用過的一些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